python发送邮件
python的smtplib库和email库,可以方便地实现发送邮件。使用远程smtp客户端,并采用授权码登录,《Python网络数据采集》书中给出的例子是这样的:
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("The body of the email is here")
msg['Subject'] = "An Email Alert"
msg['From'] = "ryan@pythonscraping.com"
msg['To'] = "webmaster@pythonscraping.com"
s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()
需要注意:上面这段代码假定smtp服务器运行在本地,而我选择了163邮箱的smtp服务器来实现,首先登录163邮箱获得smtp服务器地址和授权码:
代码修改如下:
import smtplib
from email.mime.text import MIMEText
def sendEmail():
msg = MIMEText('body of email2')
msg['Subject'] = 'An email alert'
msg['From'] = '****163.com'
msg['To'] = '****@163.com'
server = smtplib.SMTP('smtp.163.com')
try:
server.login('****@163.com', '授权码')
server.send_message(msg)
print('成功发送一封邮件')
return True
except:
print('一封邮件发送失败')
return False
finally:
server.quit()
sendEmail()
测试成功,邮箱****2@163.com可以收到发送的测试邮件。其他邮箱也可以采用本方法。
还没有评论,来说两句吧...