Используйте функцию Node Lambda для анализа электронной почты, хранящейся в AWS S3 Bucket, с помощью SES

Вот раздел функции Node Lambda, которая получает электронную почту, хранящуюся в S3. Как я могу просто получить текстовое / текстовое содержимое из возвращенного объекта данных?

Нужно ли включать функцию разбора электронной почты NPM с помощью функции lambda (загруженной как.zip) или мне нужно использовать некоторое регулярное выражение в лямбде, чтобы получить нужный раздел? Если так, то как бы это выглядело?

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 ответ

Было бы безопаснее использовать mailparser пакет для разбора.

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

simpleParser(data, (err, mail)=>{
        console.log(mail.text);
})
Другие вопросы по тегам