gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 16:51:45 24 4
gpt4 key购买 nike

几天来我一直在寻找答案,直到现在我都没有解决我的问题。如果发生错误,我只想从我的程序发送一封简单的电子邮件。我正在使用 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

关于python - 如何使用 smtplib 和 MIMEText 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6387567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com