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

如何使用Python从Gmail委托账户发送邮件?

从Gmail委托账户发送邮件的Python解决方案

前提准备

  • 确保主Gmail账户已获得委托账户的发送权限(在Gmail网页端完成设置:设置→账户和导入→发送邮件为→添加另一个邮箱地址,完成验证流程)
  • 主账户需配置合法登录凭据:
    • 若开启2FA,必须使用App密码(在Google账户设置中生成)
    • 未开启2FA时,可临时开启"允许低安全性应用访问"(不推荐长期使用,建议优先启用2FA+App密码)

核心实现代码(smtplib版本)

关键是在邮件头和发送方法中明确指定委托账户作为发件人,登录仍使用主账户凭据:

import smtplib
from email.mime.text import MIMEText

# 配置参数
main_account = "主账户邮箱@gmail.com"
main_auth = "主账户密码/App密码"  # 2FA用户填App密码
delegate_account = "委托账户邮箱@gmail.com"
recipient = "收件人邮箱@xxx.com"
subject = "测试委托账户发件"
content = "这是通过Python从Gmail委托账户发出的测试邮件"

# 构建邮件对象
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = delegate_account  # 强制指定发件人为委托账户
msg['To'] = recipient
msg['Subject'] = subject

# 发送邮件
try:
    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp_server:
        smtp_server.login(main_account, main_auth)
        # 第一个参数必须填委托账户,和邮件头保持一致
        smtp_server.sendmail(delegate_account, recipient, msg.as_string())
    print("邮件发送成功")
except Exception as e:
    print(f"发送失败:{str(e)}")

关键注意点

  • msg['From']和sendmail()的第一个参数必须同时设置为委托账户地址,缺一不可
  • 委托账户的"发送邮件为"设置中,必须完成主账户的权限验证(通常添加时会发送验证邮件到委托账户,需点击确认)
  • 若遇到SMTP登录失败,优先检查App密码是否正确,或低安全性应用访问是否开启

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:12:28