You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

为何Mailgun仅向授权收件人发邮件?如何免手动添加发送激活邮件?

解决Mailgun需手动添加授权收件人才能发送激活邮件的问题

这个问题我之前帮不少开发者处理过,核心原因是你当前使用的是Mailgun的沙盒测试域名——这个模式是为了防止垃圾邮件滥用,所以限制只能给预先添加的授权收件人发送邮件。想要实现无需手动添加即可给注册用户发激活邮件,咱们可以按以下步骤操作:

1. 切换到Mailgun生产模式(验证自定义域名)

沙盒域名的限制是无法绕过的,必须通过验证自己的自定义域名来解锁批量发送权限:

  • 登录Mailgun后台,进入「Domains」页面,点击「Add New Domain」
  • 输入你自己的域名(比如yourdomain.com,也可以用子域名如mail.yourdomain.com
  • 按照Mailgun提供的指引,在你的域名服务商后台添加对应的DNS记录:
    • MX记录:指向Mailgun的邮件服务器,确保邮件能正确路由
    • SPF TXT记录:授权Mailgun代表你的域名发送邮件,提升邮件可信度
    • DKIM TXT记录:加密邮件内容,防止被篡改,进一步降低被标记为垃圾邮件的概率
  • 等待DNS记录生效(通常需要1-24小时,取决于你的域名服务商),Mailgun后台会自动验证域名状态,验证通过后就可以给任意收件人发送邮件了

2. 调整代码配置

把你应用中Mailgun的配置项从沙盒域名替换成验证后的自定义域名:

# 示例(Python环境)
MAILGUN_DOMAIN = "yourdomain.com"  # 替换成你的验证域名
MAILGUN_API_KEY = "your-api-key"

同时,确保发件人邮箱使用你验证过的域名(比如noreply@yourdomain.com),不要使用第三方邮箱(如gmail),否则容易被收件方的邮件系统拦截。

3. 优化邮件内容,避免被标记为垃圾邮件

即使域名验证通过,邮件内容不合规也可能进垃圾箱,影响用户接收激活邮件:

  • 邮件主题要清晰明确,比如「请激活你的XX账户」,避免使用「免费」「中奖」这类易被判定为垃圾邮件的词汇
  • 邮件正文里要包含清晰的激活按钮/链接,同时添加必要的合规内容(比如你的公司名称、地址,以及退订选项——即使是激活邮件,合规要求也需要包含)
  • 激活链接要直接指向你的官方域名,不要使用短链接或可疑地址

4. 测试发送功能

域名验证通过并调整配置后,找几个不同邮箱服务商的账户(如Gmail、Outlook、QQ邮箱)做测试,确认邮件能正常送达且不在垃圾邮件文件夹中。

这样设置完成后,用户注册时系统就能自动发送激活邮件,无需再手动添加授权收件人啦。

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

火山引擎 最新活动