gpt4 book ai didi

digital-ocean - 未找到 Mailgun 域 : abc. com

转载 作者:行者123 更新时间:2023-12-03 13:02:53 25 4
gpt4 key购买 nike

我正在尝试使用我自己的网站设置电子邮件。假设域名是 abc.com .

正在使用的名称服务器是 digital ocean ,我也有一个链接到它的 gmail 帐户(比如使用 contact@abc.com)。

在使用 mailgun 进行设置时,我使用了 mg.abc.com (正如他们所说,它还可以让我使用根域发送电子邮件)。验证步骤已完成,我可以使用 contact@mg.abc.com 发送电子邮件.

但是,尝试使用根域 ( contact@abc.com ) 会出现以下错误:

AnymailRequestsAPIError: Sending a message to me@gmail.com from contact@abc.com
ESP API response 404:
{
"message": "Domain not found: abc.com"
}

我该如何解决这个问题?

最佳答案

16 年 8 月 22 日更新:
Anymail 已更新为在 settings.py 中采用新的 MAILGUN_SENDER_DOMAIN。请参阅版本 .5+ 文档。

——
原答案
您没有发布有关如何发送电子邮件的代码,但您可能正在尝试使用简单的 send_mail() 函数发送:

from django.core.mail import send_mail

send_mail("Subject", "text body", "contact@abc.com",
["to@example.com"],)

当您使用此方法时,Anymail 会从您的发件人地址中提取域,并尝试将其与 Mailgun 一起使用。由于您的发件人地址 (abc.com) 不包含子域 mg.,Mailgun 感到困惑。

相反,您需要使用 EmailMultiAlternatives 发送电子邮件。对象并指定电子邮件发件人域,如下所示:
from django.core.mail import EmailMultiAlternatives

msg = EmailMultiAlternatives("Subject", "text body",
"contact@abc.com", ["to@example.com"])
msg.esp_extra = {"sender_domain": "mg.abc.com"}

msg.send()

不要忘记您的收件人字段中的括号,因为即使您只将其发送给一个收件人,这也需要是一个元组或列表。

有关更多信息,请参阅 esp_extra 上的 Anymail 文档.

关于digital-ocean - 未找到 Mailgun 域 : abc. com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37375532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com