【发布时间】:2020-12-02 20:34:56
【问题描述】:
我将使用我的 Lambda 通过 SES 发送电子邮件通知,我想在电子邮件正文中创建一个超链接。
电子邮件正文示例:
请转到 doc www.example.com的链接
我试图创建类似这样的内容 -> {Guideline doc},但出现语法错误,不知道如何在文本中将其显示为某些文档的名称等。
我还需要在电子邮件正文中创建一个 HTML 表格,但我不知道这在 aws Lambda 中是否可行。
例子:
import json
import boto3
import csv
from datetime import datetime
def lambda_handler(event, context):
for i in event['Records']:
bucket_name = i['s3']['bucket']['name']
object = i['s3']['object']['key']
s3=boto3.client('s3')
response=s3.get_object(Bucket=bucket_name,Key=object)
csv_contents = response['Body'].read()
csv_contents_decoded = csv_contents.decode('utf-8')
reader=csv.reader(csv_contents_decoded.splitlines())
print('type csv_contents_decoded:',type(csv_contents_decoded))
print('type reader:',type(reader))
print('csv_contents_decoded:',csv_contents_decoded)
print('reader:',reader)
currentMonth = datetime.now().month
currentYear = datetime.now().year
previousMonth = currentMonth-1
owner_list = []
sponsor_list = []
for row in reader:
owner_list.append(row[1]+'@example.com')
sponsor_list.append(row[2]+'@example.com')
client = boto3.client('ses')
subject = 'Test'
body = f'''
<br>
Test
{previousMonth} is in {currentYear}.
Text with hyperlink and html table.
'''
message = {'Subject': {'Data': subject}, 'Body': {'Html': {'Data': body}}}
response = client.send_email(Source = 'test@domain.dev', Destination = {'ToAddresses': owner_list 'CcAddresses': sponsor_list},Message=message)
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
非常感谢您的建议。提前谢谢你。
【问题讨论】:
-
您能否发布您用于发送消息的代码以及您遇到的错误?
-
我想在正文中包含超链接和 html 表格作为一个电子邮件正文的一部分。因此,假设有 10 个超链接和一个 html 表格的文本,都在一个正文中。
标签: python amazon-web-services lambda hyperlink