尝试运行一个非常简单的 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()
Run Code Online (Sandbox Code Playgroud)
它吐出 { "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!'
Run Code Online (Sandbox Code Playgroud)
小智 4
指定显示名称时,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
Run Code Online (Sandbox Code Playgroud)
或者用单引号或双引号设置 From 参数的值,例如:
"from": 'Excited User <foo@bar.com>'
Run Code Online (Sandbox Code Playgroud)
**免责声明 我在 Mailgun 工作**
| 归档时间: |
|
| 查看次数: |
4837 次 |
| 最近记录: |