Mailgun邮件列表地址被退回

时间:2017-05-15 23:03:06

标签: python python-2.7 python-3.x mailgun

我已经通过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)

2 个答案:

答案 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/