“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}")

接收邮件