“Python邮件发送”的版本间的差异
来自CloudWiki
第39行: | 第39行: | ||
print(f"发送失败,错误原因:{e}") | print(f"发送失败,错误原因:{e}") | ||
</nowiki> | </nowiki> | ||
+ | |||
+ | ==接收邮件== |
2020年1月19日 (日) 06:59的版本
邮箱设置
win10系统下网易邮箱怎样设置SMTP服务:http://www.xitongcheng.com/jiaocheng/win10_article_30498.html
发送邮件
Python内置的smtplib提供了一种很方便的途径发送电子邮件,可以发送纯文本邮件、HTML邮件及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
# -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header # 第三方 SMTP 服务 mail_host = "smtp.163.com" # 设置服务器 mail_user = "somezz" # 用户名 mail_pass = "wqzz2123" # 口令 sender = "somezz@163.com" receivers = ["somenzz@qq.com", "zhengzheng@wjrcb.com"] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 message = MIMEText( '<html><body><h1>这是正文标题</h1>\ <p>正文内容 <a href="#">超链接</a>...</p>\ </body></html>', "html", "utf-8", ) # 构造正文 message["From"] = sender # 发件人,必须构造,也可以使用Header构造 message["To"] = ";".join(receivers) # 收件人列表,不是必须的 message["Subject"] = "这是主题:SMTP 邮件测试" try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号 smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print("发送成功") except smtplib.SMTPException as e: print(f"发送失败,错误原因:{e}")