我已经通过Mailgun设置了邮件列表,newsletter @ example.com。当我使用Mailgun API密钥向此地址发送消息时,消息将传递给邮件列表的所有成员。
核心问题:Mailgun还尝试将邮件发送到newsletter@example.com本身,这是一个不存在的电子邮件地址,导致我们的日志中出现以下错误天
Failed: morningalert@example.com → newsletter@example.com 'Morning Report: 2017-05-12' Not delivering to previously bounced address
我可以简单地忽略这一点,但它确实会对我们的分析产生偏差,使我们很难注意到有意义的错误,因为它每次都显示出反弹。我如何解决这个问题,以便在发送到我们的邮件列表时不会导致此退回错误?我的(写得不好)Python代码如下。谢谢!
def standard_message(key, to, from_email, from_name, subject, body, delivery_time=False, replyto=False):
url = "https://api.mailgun.net/v3/tradedefender.com/messages"
auth = ("api", key)
data = {"from": from_name + " <" + from_email + ">",
"to": to,
"subject": subject,
"text": body}
if(delivery_time != False):
data["o:deliverytime"] = delivery_time
if(replyto != False):
data["h:Reply-To"] = replyto
response = requests.post(url, auth=auth, data=data)
if("200" in str(response)):
return(True)
else:
raise Exception(response)
答案 0 :(得分:1)
您是否仔细检查过您是否在订阅者的数据库中没有该电子邮件地址?我不明白为什么Mailgun会尝试发送到newsletter@example.com。
如果失败,您可以尝试使用“控制面板”的“抑制”标签手动取消订阅电子邮件地址:
https://app.mailgun.com/app/suppressions/tradedefender.com/unsubscribes
答案 1 :(得分:1)
将来,在执行任何电子邮件广告系列之前,请使用MailboxValidator清理邮件列表。 MailboxValidator已与Mailgun集成,可轻松导入列表,清除无效电子邮件,然后自动更新Mailgun。
https://www.mailboxvalidator.com/resources/articles/how-to-import-email-list-from-mailgun/