Python 三行代码实现邮件发送:yagmail 库详解
本文介绍如何使用Python的yagmail库简化邮件发送流程。通过对比传统smtplib的复杂配置,展示yagmail仅需三行代码即可实现邮件发送。重点解析SMTP初始化参数及send方法中的收件人、主题、正文和附件设置,并详细说明邮箱授权码的获取方式,帮助开发者高效完成自动化邮件任务。
Python 发送邮件
在以往使用Python实现自动化邮件功能时,通常需要编写较为繁琐的代码。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发送邮箱服务器
smtpserver = 'smtp.sina.com'
# 发送邮箱用户/密码
user = 'username@sina.com'
password = '123456'
# 发送邮箱
sender = 'username@sina.com'
# 接收邮箱
receiver = 'receive@126.com'
# 发送邮件主题
subject = 'Python email test'
# 编写HTML类型的邮件正文
msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8')
msg['Subject'] = Header(subject, 'utf-8')
# 连接发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
这段代码虽然逻辑清晰,但要求开发者理解邮箱发送的基本要素。以下是配置过程中必须考虑的关键点:
- 登录邮箱的账号与密码
- 接收方的邮箱地址
- 邮件的具体内容,包括标题、正文以及附件
- 邮箱服务器地址(如 SMTP 或 POP3 域名)
网络上关于Python发送邮件的教程大多基于 smtplib 库。尽管该库功能完备且并不复杂,但其配置步骤相对繁琐,远不如本文即将介绍的方法简洁高效。
本文的核心推荐对象是 yagmail 库。
GitHub 项目地址:https://github.com/kootenpv/yagmail(支持本地下载)
接下来直接通过示例进行演示:
import yagmail
yag = yagmail.SMTP(user='user@163.com',password='1234',host='smtp.163.com')
contents = ['这里是内容']
yag.send('target@qq.com','主题:这是一个主题',contents)

运行效果如下所示。
下面对代码进行简要解析。
yagmail.SMTP() 参数说明
yagmail.SMTP() 函数中包含几个关键参数。其中 user 和 password 分别对应用户邮箱账号和密码。这里需要特别注意:许多邮箱在登录时需要输入验证码,但 yagmail 使用的并非登录密码,而是“授权码”。授权码是专门用于第三方应用或机器登录的凭证。用户需在邮箱设置中找到 POP3/SMTP/IMAP 相关选项,开启服务后即可生成或设置授权码。
send() 参数说明
yag.send(to=args.to,subject=args.subject,contents=args.contents,attachments=args.attachments)
args.to 指定收件人邮箱地址。若需向多个目标发送邮件,只需将邮箱地址放入列表中即可。
args.subject 用于设定邮件主题。
args.contents 用于定义邮件正文内容。
args.attachments 用于指定附件,传入文件路径即可。
总结
以上即为本文的全部内容。希望本文的介绍能为您的学习或工作提供参考价值。如有任何疑问,欢迎留言交流,感谢对本站的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













