Alibaba cloud DirectMail SingSendMail不工作

Alibaba cloud DirectMail SingSendMail不工作,alibaba-cloud,alibaba-cloud-direct-mail,Alibaba Cloud,Alibaba Cloud Direct Mail,我正在尝试来自阿里云DirectMail的singleSendMail API,请求如下 https://xx.xxxx.com/?Action=SingleSendMail &AccountName=test@example.com &ReplyToAddress=true &AddressType=1 &ToAddress=test1@example.com &Subject=Subject &HtmlBody=<body>&

我正在尝试来自阿里云DirectMail的singleSendMail API,请求如下

https://xx.xxxx.com/?Action=SingleSendMail
&AccountName=test@example.com
&ReplyToAddress=true
&AddressType=1   
&ToAddress=test1@example.com
&Subject=Subject
&HtmlBody=<body><h2>Test</h2></body>
https://xx.xxxx.com/?Action=SingleSendMail
&帐户名=test@example.com
&ReplyToAddress=true
&AddressType=1
&地址=test1@example.com
&主语
&HtmlBody=测试

我得到一个400错误
MissingParameter

阿里云RESTAPI有两组参数加上您必须在请求中包含的签名

以Python为例,需要指定如下公共参数:

parameters = {}

# Add the DirectMail public request parameters
parameters["Format"] = "json"
parameters["AccessKeyId"] = credentials['AccessKey']
parameters["SignatureMethod"] = "HMAC-SHA1"
parameters["SignatureType"] = ""
parameters["SignatureVersion"] = "1.0"
parameters["SignatureNonce"] = get_uuid()
parameters["Timestamp"] = utc
parameters["Version"] = "2017-06-22"
parameters["RegionId"] = "ap-southeast-1"
下面添加请求参数。您需要修改您的帐户信息:

# Add parameters that are always set
parameters["Action"] = "SingleSendMail"
parameters["AddressType"] = "1"
parameters["ReplyToAddress"] = "true"

# Add the DirectMail API parameters
parameters["AccountName"] = dm_account
parameters["FromAlias"] = dm_alias
parameters["ToAddress"] = to_list
parameters["Subject"] = subject
parameters["HtmlBody"] = body
parameters["textBody"] = body_text
然后你需要在请求上签名

我写了一篇关于直邮和用Python生成签名的文章,其中包含完整的工作源代码