我在S3存储桶中有原始电子邮件。我正在编写AWS Lambda函数来提取.xls附件并将其保存到另一个S3存储桶。到目前为止,我有Lambda阅读电子邮件的原始内容,但如何提取附件?
s3.getObject({
Bucket: bucketName,
Key: sesNotification.mail.messageId
}, function(err, data) {
if (err) {
console.log(err, err.stack);
context.fail();
} else {
console.log("Raw email:\n" + data.Body);
// Extract xls and copy to bucket
context.succeed();
}
});
电子邮件正文中的附件:
------=_Part_3703880_1038025051.1459895117742
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=Book1.xlsx
Content-ID: <223412a-63b2-9471-19a8-f94640ef04a5@yahoo.com>
UEsDBBQABgAIAAAAIQDIo800dgEAAAQFAAATAN0BW0NvbnRlbnRfVHlwZXNdLnhtbCCi2QEooAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
答案 0 :(得分:-1)
附件也是原始数据,因此您需要一种方法来“转移”或将其解码为您可以处理的实际文件内容。
有关详细信息,请查看python核心库“email”。