2015-11-26 97 views
2

我有以下的“卷曲”命令Mailgun工作:转换卷曲httplib的标头

curl -s --user 'api:key-xxxxxx' \ 
    https://api.mailgun.net/v3/sandboxyyyyyy.mailgun.org/messages \ 
    -F from='Excited User <[email protected]>' \ 
    -F [email protected] \ 
    -F [email protected] \ 
    -F subject='Hello' \ 
    -F text='Testing some Mailgun awesomness!' 

我需要使用“httplib的”在Python(!不请求)发送电子邮件与Mailgun。如何将curl命令转换为httplib.HTTPSConnection请求中使用的HTTP头('POST',URL,params,headers)?

回答

1

用法httplib不是问题。

import httplib 
import urllib 
from base64 import b64encode 

# your form 
params = urllib.urlencode({'from': 'Excited User <[email protected]>', 
          'to': '[email protected]', 
          'subject': 'Hello', 
          'text': 'Testing some Mailgun awesomness!'}) 

# build authorization 
user_and_pass = b64encode(b"username:password").decode("ascii") 

# headers 
headers = {'Authorization': 'Basic %s' % user_and_pass} 

# connection 
conn = httplib.HTTPConnection("api.mailgun.net") 
conn.request('POST', '/v3/sandboxyyyyyy.mailgun.org/messages', params, headers) 

# get result 
response = conn.getresponse() 

print response.status, response.reason 

data = response.read() 

conn.close() 

请检查沙箱网址和参数。

另外,文档可在https://documentation.mailgun.com/api-sending.html#sending