我们想写一个自动发送邮件的程序。
解决方案
自动发送邮件的程序非常有用,比如 UseGalaxy.CN 网站的用户邮件激活,或者是任务完成后的邮件通知,都会用到。我们以腾讯的 SMTP 邮件服务为例,实现代码如下:
代码语言:javascript复制import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# 发件人邮箱
from_mail = 'usegalaxy@qq.com'
# 发件人密码(可以是授权码)
from_pwd = 'XXXXXX'
# 发件人姓名
from_name = '简说基因'
# 收件人邮箱
to_mail = 'my@qq.com'
to_name = '收件人姓名'
# 邮件内容
msg = MIMEText('邮件内容', 'plain', 'utf-8')
msg['From'] = formataddr([from_name, from_mail])
msg['To'] = formataddr([to_name, to_mail])
msg['Subject'] = '邮件主题'
server = smtplib.SMTP_SSL('smtp.qq.com', 465)
server.login(from_mail, from_pwd)
server.sendmail(from_mail, [to_mail,], msg.as_string())
server.quit()
讨论
上述代码能够实现普通文本以及超链接的发送,能够满足大多数情况下的需求。但要如何发送带附件的邮件呢?这一主题我们留在下次讨论。
本程序在 Python3 环境下测试成功。