2017-10-20 6 views
0

非常に単純なPythonプログラムをテストしようとしています。Mailgun API: "from 'パラメータが有効なアドレスではありません。ドキュメントを確認してください"

import requests 
def send_email(): 
files = [ 
('to', '<my-email-address>'), 
('subject', 'Thank you from Foo'), 
('text', 'Hello World'), 
('from', '\"Info\" <[email protected]>'), 
] 
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() 

それは吐き出す:以下のコードである{ 「メッセージを」:「パラメータが有効なアドレスではありません 『から』確認してくださいドキュメント」 } 400

は私からのさまざまなオプションを試してみましたパラメータは動作しません。 "Info"、[email protected][email protected]

私はこの問題に遭遇した最初の人ではないようですが、誰かがこれを修正して前進する方法を教えてくれるかもしれません。

まったく同じパラメータを持つカール要求が正常に動作します:表示名を指定するとき

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

答えて

0

エスケープ文字は、パラメータからの値で必要とされません。 ** 免責事項私は仕事

"from": 'Excited User <[email protected]>' 

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" <[email protected]>', 
       "to": "[email protected]", 
       "subject": "Hello", 
       "text": "Testing some Mailgun Awesomeness!"}) 

print send_simple_message().text 

かのような単一または二重引用符でパラメータからの値を設定します。しかし、あなたはそうのような表示名に二重引用符を使用することができますMailgunで **

関連する問題