我想从电子邮件中提取附件,并将其保存到我的新S3存储桶中。到目前为止,我已经配置了AWS Simple Email Service来拦截传入的电子邮件。现在我有了一个AWS lambda python函数,它在S3 Put上被触发。
直到这是工作。但是我的lambda给错误说:[错误2]没有这样的文件或目录:'abc.docx': OSError。我看到S3中的原始电子邮件中提到了abc.docx名称的附件。
我想问题出在我upload_file。你能帮帮我吗?
请在下面找到我代码的相关部分。
s3 = boto3.client('s3')
s3resource = boto3.resource('s3')
waiterFlg = s3.get_waiter('object_exists')
waiterFlg.wait(Bucket=bucket, Key=key)
response = s3resource.Bucket(bucket).Object(key)
message = email.message_from_string(response.get()["Body"].read())
if len(message.get_payload()) == 2:
attachment = msg.get_payload()[1]
s3resource.meta.client.upload_file(attachment.get_filename(), outputBucket, attachment.get_filename())
else:
print("Could not see file/attachment.")
下面的代码解决了这个问题。
打开('/tmp/newFile.docx',wb')。写入(附件.get_有效载荷(decode=True))s3r。元。客户上传文件('/tmp/newFile.docx',outputBucket,attachment.get_filename())
您可以将附件下载到Lambda中的/tmp目录,然后上传到S3。
我有一个crontab,其中包括一个MAILTO=my.email@example.com。我的服务器使用msmtp将电子邮件转发到Amazon Simple Email Service。我的问题是cron命令的输出永远不会到达我的邮箱。这就是msmtp日志所说的: Mar06 14:26:02host=email-smtp.us-east-1.amazonaws.comtls=on auth=o
是否可以在Gmail邮箱中搜索特定的标签/和或主题,并从电子邮件正文中提取电子邮件地址,然后保存到电子表格中? 电子邮件正文示例: 非常感谢,罗德
我已经证实了以下几点 AWS SES不在沙箱中。我可以通过控制台发送电子邮件到未经验证的电子邮件标识。 我的Lambda函数有一个角色附加了对SES和Lambda的完全访问权限(因为它最初的基本测试给了完全的权限) 下面是AWS文档中的基本代码,只是硬编码了我的电子邮件id。但我无法收到任何电子邮件。lambda代码运行成功,但我没有收到电子邮件。 附加我的云监视日志以供参考
我使用AWS SES服务发送电子邮件与验证的测试电子邮件地址在SES和使用相同的来源。 我正试图将电子邮件发送到其他电子邮件地址,但无法发送。这是给我的错误“电子邮件地址未经验证。以下身份未通过在US-EAST-1地区的检查”。 发送电子邮件的代码参考:https://aws.amazon.com/premiumsupport/knowledge-center/lambda-send-email-
问题内容: 我在AWS Lambda上创建了一个非常基本的简单函数,该函数将用于接受表单提交。 该功能的一部分将是向特定的人发送电子邮件,非常简单。我正在尝试使用AWS SES来执行此操作。我已经设置了SES服务等,并验证了我希望发送到的帐户并能够发送测试电子邮件。所有作品!! 现在,当我尝试在AWS Lambda中执行相同操作并使用aws sdk时,它不会发送电子邮件。我没有收到任何错误。 以下
我正在使用Azure mobile services后端,我可以通过SendGrid成功地发送电子邮件。但是,每次我尝试添加附件时,它都失败了。我从来没有收到过邮件。经过一点研究,我发现我所需要的只是一个虚拟路径。我修改了路径名,但它仍然不工作。 我想不出为什么会失败。 下面是我的代码: