Python调用Mailgun发送邮件时发件人名称不显示如何配置
Mailgun发送邮件自定义发件人名称配置方案
核心原因
调用Mailgun接口时from参数未遵循SMTP标准的发件人格式,仅传入了纯邮箱地址,邮件客户端会默认提取邮箱@前缀作为显示名称。
正确配置方式
SMTP协议规定带自定义显示名的发件人格式为:自定义显示名 <发信邮箱地址>,直接按该格式填写Mailgun接口的from参数即可。
Python调用示例
以Mailgun通用API调用为例:
import requests # 错误写法(仅传邮箱,无显示名) # response = requests.post( # "https://api.mailgun.net/v3/你的域名/messages", # auth=("api", "你的API密钥"), # data={"from": "support@mydomain.com", # "to": "收件人邮箱", # "subject": "测试主题", # "text": "测试内容"}) # 正确写法(带自定义显示名) response = requests.post( "https://api.mailgun.net/v3/你的域名/messages", auth=("api", "你的API密钥"), data={"from": "Kevin from Mydomain.com <support@mydomain.com>", "to": "收件人邮箱", "subject": "测试主题", "text": "测试内容"})
注意事项
- 显示名称支持中文、空格等特殊字符,不需要手动编码,Mailgun会自动处理转义
- 包裹邮箱地址的尖括号必须为英文半角符号,不要填成全角符号
- 发信邮箱必须是你在Mailgun后台完成验证的域名下的合法地址,否则会触发发信失败
- 若使用Mailgun官方Python SDK,
from参数的格式规则完全一致,按上述格式填写即可
内容的提问来源于stack exchange,提问作者VII
相关产品推荐
相关产品推荐

