ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何使用smtplib和MIMEText发送电子邮件?

2019-12-08 08:05:36  阅读:350  来源: 互联网

标签:smtplib email gmail mime python


我一直在寻找答案,直到现在我还是没有解决我的问题.
我只想从程序中发送一条简单的电子邮件,如果发生错误.
我正在使用gmail服务器来执行此操作,并且它实际上发送了电子邮件,但没有显示电子邮件消息.
这是代码:

def accept(self):                    
    HOST = 'smtp.gmail.com'
    PORT = '587'
    user = '***********@gmail.com'
    senha = '***********'
    servidor = smtplib.SMTP()
    servidor.connect(HOST, PORT)
    servidor.ehlo()
    servidor.starttls()
    servidor.ehlo()
    servidor.login(user, senha)
    assunto = 'Relatorio de Erro'
    para = '**************@hotmail.com'
    endereco = self.nemail.text()
    de = str(endereco)
    texto = self.message.toPlainText()
    textos = Message(texto)
    corpo = MIMEText(textos)
    corpo['From'] = de
    corpo['To'] = user
    corpo['Subject'] = assunto        
    servidor.set_debuglevel(1)
    servidor.sendmail(user, para, corpo.as_string())        
    servidor.quit

这在MIMEText上引发错误.说不能将MIMEText转换为str.
我尝试了另一个版本,仅供测试.
发送一个简单的字符串:

def accept(self):                    
    HOST = 'smtp.gmail.com'
    PORT = '587'
    user = '*************@gmail.com'
    senha = '************'
    servidor = smtplib.SMTP()
    servidor.connect(HOST, PORT)
    servidor.ehlo()
    servidor.starttls()
    servidor.ehlo()
    servidor.login(user, senha)
    assunto = 'Relatorio de Erro'
    para = '*********@hotmail.com'        
    servidor.set_debuglevel(1)
    servidor.sendmail(user, para, assunto)        
    servidor.quit()

电子邮件会显示在右侧的收件箱中,但没有任何消息.
我搜索了很多东西,阅读了文档,尝试了很多,甚至都不知道自己在做什么.看来我快要到了.
有人能帮我吗?

解决方法:

这是从我进行系统维护时使用的代码修改而来的工作版本.


#!/usr/bin/env python

import smtplib

host = 'smtp.gmail.com'
port = '587'
user = 'user@gmail.com'
passw = 'password'

server = smtplib.SMTP()
server.connect(host, port)
server.ehlo()
server.starttls()
server.login(user, passw)

notice = "Completed"
tolist = ["user@somewhere.com"]
fromaddr = '"IT Staff" '
subject = 'Oracle server maintenance notice'
message = '''

The Oracle database server maintenance is

%s

''' % notice

hdr = "From: %s\r\nTo: %s\r\nSubject: %s\r\nX-Mailer: My-Mail\r\n\r\n" % (fromaddr, tolist, subject)
server.sendmail("it@vlsmaps.com", tolist, hdr+message)
server.quit

标签:smtplib,email,gmail,mime,python
来源: https://codeday.me/bug/20191208/2090202.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有