0

我在 Django 项目上设置 AnyMail + MailGun,但我收到未经授权的响应调用mail_admins

anymail.exceptions.AnymailRequestsAPIError: Sending a message to mail@gmail.com from mailgun@sandboxe6301378bfe741bf99d5684e65852283.mailgun.org Mailgun API response 401 (Unauthorized): 'Forbidden'

这些是我的settings.py配置:

EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"

ANYMAIL = {
    "MAILGUN_API_KEY": os.environ.get("MAILGUN_API_KEY"),
    "MAILGUN_API_URL": "https://api.mailgun.net/v3",
    "MAILGUN_SENDER_DOMAIN": "sandboxe6301378bfe741bf99d5684e65852283.mailgun.org"),
}

SERVER_EMAIL = "mailgun@sandboxe6301378bfe741bf99d5684e65852283.mailgun.org"
# SERVER_EMAIL = "mail@gmail.com"
# DEFAULT_FROM_EMAIL = "mail@gmail.com"

ADMINS = [("Admin", "mail@gmail.com"), ]

我可以使用 CURL 发送带有这些配置的电子邮件。我一定在 Django 设置上遗漏了一些东西。

4

1 回答 1

0

事实证明,我还将api:CURL 片段中的前缀复制到了MAILGUN_API_KEY变量中,但我没有传递DEFAULT_FROM_EMAIL = "mailgun@sandboxe6301378bfe741bf99d5684e65852283.mailgun.org",因此出现了错误。

于 2021-09-29T15:54:49.673 回答