Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Mailgun API因未知原因拒绝消息_Html_Email_Mailgun - Fatal编程技术网

Html Mailgun API因未知原因拒绝消息

Html Mailgun API因未知原因拒绝消息,html,email,mailgun,Html,Email,Mailgun,我运行了一个发送HTML电子邮件的小测试(三条消息)。所有三个(400个)均被拒绝,包括以下内容: {https://api.mailgun.net:443 "POST /v3/mg001.[mydomain].com/messages.mime HTTP/1.1" 400 0} 我真的不知道它在告诉我什么 “发送”电子邮件的python代码是: def send_message(sender, subject, body_text, body_html, recipient): re

我运行了一个发送HTML电子邮件的小测试(三条消息)。所有三个(400个)均被拒绝,包括以下内容:

{https://api.mailgun.net:443 "POST /v3/mg001.[mydomain].com/messages.mime HTTP/1.1" 400 0}
我真的不知道它在告诉我什么

“发送”电子邮件的python代码是:

def send_message(sender, subject, body_text, body_html, recipient):
    return requests.post(
        "https://api.mailgun.net/v3/mg001.[mydomain].com/messages.mime",
        auth=("api", "[myapikey]"),
        data={"from": sender,
              "to": recipient,
              "subject": subject,
              "text": body_text,
              "html": body_html},
        headers={"Content-Type": "multipart/form-data"}
        )
我有稍微不同的代码,可以完美地发送非html电子邮件,所以我知道我的帐户或API密钥中没有任何错误,等等

如果有人能给我指出正确的方向,我将不胜感激。

:

POST//messages.mime

以MIME格式发布消息。注意:您需要自己构建MIME字符串。为此,请使用编程语言的MIME库。将生成的MIME字符串作为消息参数传递

因为您没有构建MIME字符串,所以不应该使用该端点。显示要使用的标准端点:

https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages
显示一个发送HTML消息的非常清晰的示例(包括文件附件,我已经删除了这些附件):

send_complex_message():
返回请求.post(
"https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
auth=(“api”,“您的api密钥”),
数据={“发件人”:“兴奋用户”,
“至”:foo@example.com",
“抄送”:baz@example.com",
“密件抄送”:bar@example.com",
“主题”:“你好”,
“文本”:“测试一些邮枪的威严!”,
“html”:“正文的html版本”})
引用的示例中也没有使用
内容类型
标题,看起来这不是必需的


TL;DR-如有疑问,请查看文档!:-)

非常感谢你!我已经消除了发送MIME消息的尝试,并返回到使用“…messages”API端点。可以肯定的是,当我最初尝试发送HTML邮件失败时,正是“阅读文档”让我走上了MIME的道路。我已经做了40多年的专业程序员,如果说我们的业务中有什么不变的话,那就是如果你真的不知道自己在做什么(我对电子邮件和相关结构和协议的知识和任何人一样接近于零),“文档”可能很容易让你走上错误的道路,就像正确的道路一样!顺便说一句,我还没有在收件箱中收到我的测试html电子邮件,但是我从API中得到了“200”个返回,所以我假设它们在队列中。
send_complex_message():
    return requests.post(
        "https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
        auth=("api", "YOUR_API_KEY"),
        data={"from": "Excited User <YOU@YOUR_DOMAIN_NAME>",
              "to": "foo@example.com",
              "cc": "baz@example.com",
              "bcc": "bar@example.com",
              "subject": "Hello",
              "text": "Testing some Mailgun awesomness!",
              "html": "<html>HTML version of the body</html>"})