我们想写一个自动发送邮件的程序。
解决方案
自动发送邮件的程序非常有用,比如 UseGalaxy.CN 网站的用户邮件激活,或者是任务完成后的邮件通知,都会用到。我们以腾讯的 SMTP 邮件服务为例,实现代码如下:
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 环境下测试成功。
关于简说基因
生信平台
Galaxy中国(UseGalaxy.cn)致力于打造中国人的云上生物信息基础设施。大量在线工具免费使用。无需安装,用完即走。活跃的用户社区,随时交流使用心得。
生信培训
简说基因的生信培训班,荣获学员的一致好评。如果你也对生物信息学感兴趣,欢迎来跟简说基因,学真生信。
生信分析
我们能够承接所有 NGS 组学数据分析业务,包括但不限于 WGS / WES / RNA-seq 等。基因组组装、注释,以及各种重测序业务都可以与简说基因合作。