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

在Gmail API中设置发件人名称且避免触发验证警告

解决方案:自定义发件人名称且避免Gmail验证警告

我之前也碰到过一模一样的问题!核心症结在于Gmail的发件人验证逻辑:当手动设置message['from']时,如果里面的邮箱地址和凭据配置文件里的发件人邮箱不匹配,或者格式不符合标准,Gmail就会触发验证警告。但只要我们正确设置From头,保证邮箱部分和凭据一致,同时保留自定义名称,就能两全其美。

具体修改步骤

1. 正确构造发件人参数

确保传入create_message函数的sender参数严格遵循以下格式:

"ABC NAME <abcname@gmail.com>"

这里的abcname@gmail.com必须和你凭据配置文件里的发件人邮箱完全一致;如果想用别名,得先在Gmail设置里添加并验证该别名。

2. 调整create_message函数

你不需要移除From字段,只需要确保它的格式正确且邮箱与凭据匹配。修改后的函数代码如下:

def create_message(sender, to, cc, subject, message_text):
    message = MIMEText(message_text,'html')
    message['to'] = to
    # 使用标准格式设置发件人,邮箱需与凭据完全一致
    message['From'] = sender
    message['subject'] = subject
    if str(cc) != 'nan':
        message['cc'] = cc
    pprint(message)
    return {
        'raw': base64.urlsafe_b64encode(
            bytes(message.as_string(), "utf-8")).decode("utf-8")
    }

注:MIME头大小写不敏感,message['from']和message['From']效果一致,但用大写更符合标准惯例。

为什么之前会触发警告?

你之前的警告大概率是以下两种情况之一:

  • 设置的message['from']里的邮箱和凭据里的发件人邮箱不一致;
  • 发件人格式错误,比如没用地括号<>包裹邮箱地址(比如直接写ABC NAME abcname@gmail.com)。

当From头的邮箱部分和凭据完全匹配时,Gmail会识别出这是你主动设置的显示名称,而非伪造发件人,因此不会触发验证警告。

额外提示:使用别名的情况

如果想使用非主邮箱的别名作为发件人,需要先在Gmail设置中完成别名添加与验证(路径:Gmail设置 → 账号和导入 → 发送邮件为 → 添加另一个邮箱地址)。验证通过后,就可以用"自定义名称 <your-alias@domain.com>"作为sender参数,同样不会触发警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 20:47:42