使用Node Lambda函数解析SES存储在AWS S3 Bucket中的电子邮件

时间:2018-05-17 14:15:38

标签: node.js amazon-web-services amazon-s3 aws-lambda email-parsing

这是Node Lambda函数中获取存储在S3中的电子邮件的部分。我如何才能获得&text; / text'返回的数据对象中的内容?

我是否需要在lambda函数中包含一个NPM电子邮件解析依赖项(上传为.zip),还是应该在lambda中使用一些正则表达式来获取我想要的部分?如果是这样的话会是什么样的?

exports.handler = function(event, context, callback) {

    var sesNotification = event.Records[0].ses;

    // Retrieve the email from your bucket
    s3.getObject({
        Bucket: bucketName,
        Key: "ses/"+sesNotification.mail.messageId
    }, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            callback(err);
        } else {

            data

        }
    });

};

1 个答案:

答案 0 :(得分:1)

使用mailparser包进行解析会更安全。

const simpleParser = require('mailparser').simpleParser;

simpleParser(data, (err, mail)=>{
        console.log(mail.text);
})