解决 邮件推送ImportError: No module named aliyunsdkdm.request.v20151123.SingleSendMailRequest
阿里云官方给出的实例程序参考如下:#!/usr/bin/env python#coding=utf-8from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception....
·
阿里云官方给出的实例程序参考如下:
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkdm.request.v20151123.SingleSendMailRequest import SingleSendMailRequest
client = AcsClient('<accessKeyId>', '<accessSecret>', 'ap-southeast-2')
request = SingleSendMailRequest()
request.set_accept_format('json')
request.set_HtmlBody("HtmlBody")
request.set_Subject("Subject")
request.set_ToAddress("ToAddress")
request.set_AddressType("AddressType")
request.set_AccountName("AccountName")
response = client.do_action_with_exception(request)
# python2: print(response)
print(str(response, encoding='utf-8'))
修改运行后报错:
Traceback (most recent call last):
File "/home/yeqiang/PycharmProjects/cron_task/test.py", line 103, in <module>
from aliyunsdkdm.request.v20151123.SingleSendMailRequest import SingleSendMailRequest
ImportError: No module named aliyunsdkdm.request.v20151123.SingleSendMailRequest
采用CommonRequest调整后可正常发送邮件,参考代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import logging
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
class AliyunEmailUtils:
def __init__(self):
pass
@staticmethod
def send(toAddress, subject, htmlBody):
region_id = 'ap-southeast-1'
client = AcsClient('L******T', 'l****************K', region_id)
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dm.%s.aliyuncs.com' % region_id)
request.set_method('POST')
request.set_protocol_type('https') # https | http
request.set_version('2015-11-23')
request.set_action_name('SingleSendMail')
request.add_query_param("HtmlBody", htmlBody)
request.add_query_param("Subject", subject)
request.add_query_param("ToAddress", toAddress)
request.add_query_param("AddressType", "0")
request.add_query_param("ReplyToAddress", "false")
request.add_query_param("AccountName", "service@mydomain.com")
request.add_query_param("FromAlias", "myname")
response = client.do_action(request)
logging.debug(response)
return response
if __name__ == '__main__':
print AliyunEmailUtils.send("289632785@qq.com", "test", "<p>html body</p>")
<script type="text/javascript">alert('hello');</script>
更多推荐
已为社区贡献4条内容
所有评论(0)