You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python实现电子邮件发送功能?

Python发送电子邮件实现指南

前置准备

  • 首先登录你的邮箱后台设置页面开启SMTP服务,获取SMTP专属授权码(注意:SMTP登录验证使用授权码,而非邮箱原始登录密码)
  • 确认所用邮箱的SMTP服务配置,常见邮箱参考参数:
    • QQ邮箱:服务器地址smtp.qq.com,SSL加密端口465
    • 163邮箱:服务器地址smtp.163.com,SSL加密端口465
    • Gmail邮箱:服务器地址smtp.gmail.com,SSL加密端口465

实现步骤

1. 导入依赖模块

Python内置相关模块无需额外安装:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

2. 配置基础参数

替换为你自己的实际信息即可:

# 发件人配置
sender_addr = "你的发件邮箱地址"
smtp_auth_code = "你申请的SMTP授权码"
# 收件人配置,多个收件人用英文逗号分隔
receiver_addr = "收件人邮箱地址"
# SMTP服务配置
smtp_host = "smtp.qq.com"
smtp_port = 465

3. 构造邮件对象

# 初始化MIMEMultipart实例
msg = MIMEMultipart()
# 配置邮件头部字段
msg["From"] = sender_addr
msg["To"] = receiver_addr
msg["Subject"] = "邮件自定义主题"
# 添加正文内容,_subtype为plain代表纯文本,如需发送HTML内容改为html即可
mail_content = "这是邮件的正文内容"
msg.attach(MIMEText(mail_content, "plain", "utf-8"))

4. 连接SMTP服务器发送邮件

try:
    # 建立SSL加密连接,保障信息安全
    server = smtplib.SMTP_SSL(smtp_host, smtp_port)
    # 登录SMTP服务
    server.login(sender_addr, smtp_auth_code)
    # 执行发送操作
    server.sendmail(sender_addr, receiver_addr, msg.as_string())
    print("邮件发送成功")
except Exception as e:
    print(f"邮件发送失败,错误提示:{e}")
finally:
    # 关闭SMTP连接
    server.quit()

扩展说明

  • 如需添加附件,额外构造MIMEBase对象,读取本地文件内容后添加到msg实例即可
  • 多收件人场景下,msg["To"]字段填写为a@xx.com,b@xx.com格式的字符串,同时sendmail方法的第二个参数传入收件人地址列表即可

内容的提问来源于stack exchange,提问作者SJXD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:39:04