如何使用python boto3将文本文件内容作为邮件正文发送?

时间:2018-06-08 12:35:23

标签: python boto3

我在文本文件中有以下数据

-------------------------- Thu Jun 7 12:00:01 UTC 2018 ----------- ------------------

"Ec2InstanceId":"i-0ec314eafd40e5ad5"

"Ec2InstanceId":"i-0200e84d07ff2c5ed"

"Ec2InstanceId":"i-00a46fde81549e56b"

"Ec2InstanceId":"i-02013e0f353f9aa79"

"Ec2InstanceId":"i-0f5c65a35ef4a7a39"

"Ec2InstanceId":"i-0bddc318b2a5d886b"

"Ec2InstanceId":"i-0e661050aadb9966c"

我想使用python boto 3模块通过邮件发送此数据。 现在我能够发送邮件,但我面临的问题是邮件正在改变邮件正文中的布局。 一切都在一条线上。 以下是我的代码段的一些部分:

import boto3
from botocore.exceptions import ClientError

def read_file():
    content = []
    with open('test_instance_details.txt') as f:
        for i in f.readlines():
            content.append(i.strip('\n'))
    return '\n'.join(content)

BODY_HTML = read_file()

CHARSET = "UTF-8"

client = boto3.client('ses',region_name=AWS_REGION)


try:

    response = client.send_email(
        Destination={
            'ToAddresses': [
                RECIPIENT,
            ],
        },
    Message={
        'Body': {
            'Html': {
                'Charset': CHARSET,
                'Data': BODY_HTML,
            },

        },
        'Subject': {
            'Charset': CHARSET,
            'Data': SUBJECT,
        },
    },
    Source=SENDER,
)

我是python的新手。任何人都可以帮我找出解决这个问题的方法吗? 提前谢谢..

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。以下是我在代码中所做的更改:

def read_file():
    contents=open('test_instance_details.txt','r')
    return '<br/>'.join(contents.readlines())