0

我刚刚开始使用 Python,似乎无法将变量添加到我的有效负载中以request使用 mailjet。

这是示例 curl 脚本:

curl -s \
 -X POST \
 --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
 https://api.mailjet.com/v3/send \
 -H 'Content-Type: application/json' \
 -d '{
"FromEmail":"pilot@mailjet.com",
"FromName":"Mailjet Pilot",
"Subject":"Your email flight plan!",
"Text-part":"Dear passenger, welcome to Mailjet! May the delivery force be with you!",
"Html-part":"<h3>Dear passenger, welcome to Mailjet!</h3><br />May the delivery force be with you!",
"Recipients":[
    {
        "Email": "passenger@mailjet.com"
    }
  ]
}'

我已经把它转换成Python request这样的:

import requests

emailFrom = "<my_email>"

fromName = "<my_name>"

message = "test"

emailTo = "<second_email>"

headers = {
   'Content-Type': 'application/json',
}

payload = {'FromEmail':'<my_email>', 
'FromName':'<my_name>', 'Subject':'Plan', 'Text-part':'Dearz', 'Html-part':'<h1>Done</h1>', 'Recipients':[{'Email':'<second_email>'}]}

response = requests.post('https://api.mailjet.com/v3/send', headers=headers, data=payload, auth=('<PUBLIC_KEY>', '<PRIVATE_KEY>'))

我没有使用这些固定值,而是尝试使用 python 脚本开头的变量,但是当我使用这些变量时,我无法让脚本发送电子邮件。

如何将变量添加到 Python 脚本中?

干杯:)

4

1 回答 1

1

问题取决于方式。您正在尝试发送数据。

所以改为:

response = requests.post('https://api.mailjet.com/v3/send', headers=headers, data=payload, auth=('<PUBLIC_KEY>', '<PRIVATE_KEY>'))

尝试替换datajson

response = requests.post('https://api.mailjet.com/v3/send', headers=headers, json=payload, auth=('<PUBLIC_KEY>', '<PRIVATE_KEY>'))

希望这可以帮助

于 2018-06-17T13:49:10.643 回答