SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用于发送邮件。Python 的 smtplib模块提供 SMTP 客户端会话,用于通过 SMTP 服务器发送邮件。而 email模块则负责​​构建邮件​​(内容、主题、附件等),smtplib负责​​发送邮件​​。

基本步骤

  1. ​导入模块​

  2. ​创建 SMTP 对象并连接服务器​

  3. ​登录邮箱账户​

  4. ​构建邮件内容​

  5. ​发送邮件​

  6. ​关闭连接​

🔐 准备工作:获取 SMTP 授权码

大多数邮箱服务(如 163、QQ、Gmail)都不再允许直接使用登录密码在第三方客户端或脚本中发送邮件,而是使用​​授权码​​。

  • ​163 邮箱​​:登录后,在设置中查找“客户端授权密码”并开启。

  • ​QQ 邮箱​​:登录后,在“设置”->“账户”中,找到“POP3/IMAP/SMTP服务”并开启,生成授权码。

  • ​Gmail​​:登录后,在“安全性”设置中启用“两步验证”,然后生成“应用专用密码”。

请将以下示例中的 'your_email@example.com'替换为你的发件邮箱,'your_authorization_code'替换为你的授权码,'recipient@example.com'替换为收件邮箱。

发送纯文本邮件

发送 HTML 邮件

发送 HTML 邮件只需在构建 MIMEText对象时,将子类型设置为 'html',并提供 HTML 格式的字符串作为内容

发送带附件的邮件

发送附件需要使用 MIMEMultipart来组合邮件正文和附件

Python 的 smtplib和 email模块提供了强大的邮件发送功能。

  • 发送​​纯文本​​邮件使用 MIMEText并设置子类型 'plain'

  • 发送 ​​HTML​​ 邮件使用 MIMEText并设置子类型 'html'

  • 发送​​带附件​​的邮件使用 MIMEMultipart来组合正文和附件。

关键是要根据你的邮箱服务商正确配置 ​​SMTP 服务器地址、端口号​​,并使用​​授权码​​而非登录密码进行认证。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐