我正在尝试访问通过SES收到并在S3中转储的电子邮件的内容。
我想使用python 3.6 lambda函数来解析电子邮件并执行操作。我试过了
emailRawString = response.get()[' Body']。read()
但遭遇以下错误:
预计至少有1个参数,得到0
我可以看到转储的MIME文件的s3存储桶中的内容类型是:application / octet-stream
任何帮助将不胜感激。我只想打开并获取MIME内容,以便我可以解析并根据它进行操作。
注意:脚本的其余部分没问题。
编辑: 我正在使用的实际代码:
'always'
答案 0 :(得分:1)
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()