首页 > 解决方案 > 使用带有 MailGun 的 Django AnyMail,MAILGUN_SENDER_DOMAIN 是否必须与 DEFAULT_FROM_EMAIL 中的域匹配?

问题描述

考虑以下来自https://github.com/anymail/django-anymailsettings.py的片段:

INSTALLED_APPS = [
    # ...
    "anymail",
    # ...
]

ANYMAIL = {
    # (exact settings here depend on your ESP...)
    "MAILGUN_API_KEY": "<your Mailgun key>",
    "MAILGUN_SENDER_DOMAIN": 'mg.example.com',  # your Mailgun domain, if needed
}
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"  # or sendgrid.EmailBackend, or...
DEFAULT_FROM_EMAIL = "you@example.com"  # if you don't already have this in settings

在此示例中,MAILGUN_SENDER_DOMAINDEFAULT_FROM_EMAIL都具有域example.com

我们最近进行了更改,使两个域不同,并且似乎我不再能够使用 AnyMail 后端发送电子邮件。我的理论是MailGun“强制”这两个域相同,但是从文档中我不清楚这是否确实如此。谁能确认这是否需要?

标签: pythondjangomailgundjango-anymail

解决方案


我发现域不必相同。通过查看 MailGun 控制台中的日志,我注意到出现“未投递到先前退回的地址”错误:

在此处输入图像描述

我尝试了一个不同的电子邮件地址,它成功了。


推荐阅读