我正在尝试使用 python 3.2 SMTPlib.sendmail() 函数发送消息,在对 SMTP 库进行一些修改(即注释掉抑制错误消息的 rset() 函数)之后,我设法检索到以下错误消息从服务器:
SendMail Failed (554, b'Transaction failed : 由于可能滥用而无法发送消息;请访问http://postmaster.yahoo.com/abuse_smtp.html了解更多信息')
雅虎邮件 SMTP 服务器认为我在发送垃圾邮件,该 URL 确实链接到任何有用的东西。我认为这与标题不足有关,我似乎无法找到关于什么构成合规标题的明确答案,并且我读过 Gmail 的类似问题。模拟电子邮件已取代这篇文章。
任何帮助,将不胜感激
我的完整代码如下:
self.message = email.message_from_string('''To: <ksmith@yahoo.co.nz>
From: <rwilson@yahoo.co.nz>
Reply-To: <rwilson@yahoo.co.nz>
Subject: Test send mail \n\n Hello''')
fromAddress = 'rwilson@yahoo.co.nz'
toAddress = 'ksmith@yahoo.co.nz'
try:
self.smtp = SMTP()
self.smtp.connect('smtp.mail.yahoo.com')
except Exception:
print('Connection Failed')
print(traceback.format_exc())
try:
self.smtp.login('rwilson','tree22')
except Exception:
print('Login Failed!')
print(traceback.format_exc())
try:
self.smtp.sendmail(fromAddress,toAddress ,self.message.as_string())
print("Message sucessfully sent!")
self.smtp.close()
except Exception as e:
print('SendMail Failed')
print(e)