Amazon简单邮件服务默认情况下并不会自动处理HTML标签,需要手动进行处理。以下是Python代码示例:
import boto3
ses = boto3.client('ses')
# 构建HTML邮件内容,注意需要将HTML标签转换为实体字符
html_body = "Hello, World!
"
html_char_entities = {
'<': '<',
'>': '>',
'&': '&',
'\"': '"',
'\'': ''',
'/': '/'
}
html_body = ''.join(html_char_entities.get(c, c) for c in html_body)
# 发送邮件
response = ses.send_email(
Source='sender@domain.com',
Destination={
'ToAddresses': [
'recipient@domain.com',
],
},
Message={
'Subject': {
'Data': 'HTML邮件测试',
'Charset': 'utf-8'
},
'Body': {
'Html': {
'Data': html_body,
'Charset': 'utf-8'
},
}
},
)
在代码中,我们先定义了一个包含HTML标签的邮件内容html_body,然后使用一个字典html_char_entities将HTML标签转换为实体字符。最后,将转换后的HTML串作为邮件正文发送即可。
需要注意的是,由于Amazon简单邮件服务使用的是UTF-8编码,所以邮件内容和标签都要在发送前转换成UTF-8编码。