我正在尝试访问通过SES接收并转储到S3中的电子邮件的内容。
我想使用python 3.6 lambda函数来解析电子邮件并执行操作。我试过了
emailRawString = response.get()['Body']。read()
但是遭到以下错误的攻击:
得到至少1个参数,得到0
我可以看到转储的MIME文件的s3存储桶中的内容类型为:application / octet-stream
任何帮助将不胜感激。我只想打开并获取MIME内容,以便我可以解析并基于该内容进行操作。
注意:脚本的其余部分都可以。
编辑:
我正在使用的实际代码:
response = s3.get_object(Bucket=bucket, Key=key)
emailRawString = response.get()['Body'].read()
parser = Parser()
emailString = parser.parsestr(emailRawString)
toAddress = emailString.get('To').split(",")
if emailString.is_multipart():
for part in emailString.walk():
if part.get_content_type() == 'text/plain':
body = part.get_payload()
else:
body = emailString.get_payload()
最佳答案
不需要get()
。
看着boto3 S3 example。这应该工作:
response = s3.get_object(Bucket=bucket, Key=key)
emailRawString = response['Body'].read()
parser = Parser()
emailString = parser.parsestr(emailRawString)
toAddress = emailString.get('To').split(",")
if emailString.is_multipart():
for part in emailString.walk():
if part.get_content_type() == 'text/plain':
body = part.get_payload()
else:
body = emailString.get_payload()
关于amazon-s3 - 如何访问S3中转储的AWS SES电子邮件的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45901792/