python - Mailgun API : "' from' parameter is not a valid address. 请检查文档”

标签 python curl

尝试运行一个非常简单的Python程序进行测试。代码如下:

import requests
def send_email():
files = [
('to', '<my-email-address>'),
('subject', 'Thank you from Foo'),
('text', 'Hello World'),
('from', '\"Info\" <info@foo.com>'),
]
r =requests.post('https://api.mailgun.net/v3/mail1.parkl.com/messages', files=files, auth=('api', '<my-key>'))
print r.text, r.status_code

if __name__ == "__main__":
send_email()

它吐出{ "message": "'from' 参数不是有效地址。请检查文档" } 400

我尝试了 From 参数的各种选项,但似乎都不起作用。 “信息”,info@foo.com,info@mail1.foo.com

在线阅读似乎我不是第一个遇到此问题的人,但有人可以指出我如何解决此问题并继续前进。

具有完全相同参数的 curl 请求可以正常工作:

curl -s —user 'api:<my-key>' \
https://api.mailgun.net/v3/mail1.parkl.com/messages \
-F from=‘Foo <info@foo.com>' \
-F to=<my-email-address> \
-F subject='Info Hello' \
-F text='Testing some Mailgun awesomness!'

最佳答案

指定显示名称时,From 参数的值中不需要转义字符。不过,您可以使用双引号作为显示名称,如下所示:

import requests

def send_simple_message():
    return requests.post(
        "https://api.mailgun.net/v3/example.com/messages",
        auth=("api", "key-<api-key-here>"),
        data={"from": '"Excited User" <foo@bar.com>',
              "to": "example@foo.com",
              "subject": "Hello",
              "text": "Testing some Mailgun Awesomeness!"})

print send_simple_message().text

或者用单引号或双引号设置 From 参数的值,例如:

"from": 'Excited User <foo@bar.com>'

** 免责声明我在 Mailgun 工作 **

关于python - Mailgun API : "' from' parameter is not a valid address. 请检查文档”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853171/

相关文章:

python - Pymongo/bson : Convert python. cursor.Cursor 对象到可序列化/JSON 对象

rest - 使用Restful API curl

r - 安装包 ‘devtools’ 在 Ubuntu 上具有非零退出状态

php - 使用 curl 上传多个文件

php - 回复 sagepay 中的通知帖子 (PHP)

python - 解包到未知数量的变量?

python - 动态添加 URL 规则到 Flask 应用

python - 使用 Python Pandas 计算第二天为特定值的概率

python - 有效地向模型中的所有可训练权重添加噪声

c++ - 读取 header ,CURL