我使用以下方法使用SMTP从Python发送邮件。这是正确的方法使用还是有问题我失踪了?
from smtplib import SMTP
import datetime
debuglevel = 0
smtp = SMTP()
smtp.set_debuglevel(debuglevel)
smtp.connect('YOUR.MAIL.SERVER', 26)
smtp.login('USERNAME@DOMAIN', 'PASSWORD')
from_addr = "John Doe <john@doe.net>"
to_addr = "foo@bar.com"
subj = "hello"
date = datetime.datetime.now().strftime( "%d/%m/%Y %H:%M" )
message_text = "Hello\nThis is a mail from your server\n\nBye\n"
msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s"
% ( from_addr, to_addr, subj, date, message_text )
smtp.sendmail(from_addr, to_addr, msg)
smtp.quit()
另外,如果要使用TLS而不是SSL进行smtp身份验证,则只需更改端口(使用587)并执行smtp.starttls()。这对我有效:
我使用的脚本非常相似;我将其作为如何使用email.*模块生成MIME消息的示例发布在这里;因此可以很容易地修改此脚本以附加图片等
我依赖我的ISP添加日期时间标题。
我的ISP要求我使用安全的smtp连接发送邮件,我依赖smtplib模块(可在http://www1.cs.columbia.edu/~db2501/ssmtplib.py下载)
与脚本中一样,用于在SMTP服务器上进行身份验证的用户名和密码(下面给出了虚拟值)在源代码中是纯文本的。这是一个安全弱点;但最好的选择取决于您需要(想要)多小心为了保护这些。
一、二、二、三、三、三、四
我通常使用的方法…没有太大的不同,但有一点
就这样
相关问题 更多 >
编程相关推荐