AWS-SES 发送带有附件的邮件 [application/pdf] Nodejs

law*_*999 5 pdf email-attachments node.js amazon-ses

我有多个 .pdf 附件,我想将附件作为对象数组传递给SendEmail函数,如下所示。我通读了 AWS 文档,但没有关于附件的信息。


   let attachment_data = [];
    attachment_data.push({
        filename: 'ticket.pdf',
        path:'/sample/tickets/ticket.pdf',
        content: new Buffer(fs.readFileSync('/sample/tickets/ticket.pdf')).toString('base64'),
        contentType: 'application/pdf',
    });


-----------------------------------------------------------------------



    function SendMail(options, template, cb) {
        for (var key in options) {
            template = template.replace('{{%' + key + '%}}', options[key]);
        }
        client.sendEmail({
            from: constants.EMAIL_FROM,
            to: options.email,
            subject: options.subject,
            message: template,    //html content
            attachments: (options.attachment)?options.attachment:null  //array of objects
        }, function(err, data, res) {
            if(err) cb(err, null);
            else cb(null,res)
       });
    }

------------------------------------------------------------------------
am receiving email but without attachment and I looked all over the documentation and all but all I could find is this statement below which is relevant.

 - **The total size of the message, including attachments, must be smaller
   than 10 MB.**

am using the below package [node-ses][1]

    var ses = require('node-ses'),
    client = ses.createClient({
        key: process.env.AWS_ACCESSKEY_ID,
        secret: process.env.AWS_SECRET_ACCESSKEY,
        amazon: process.env.SES_REGION
    });
Run Code Online (Sandbox Code Playgroud)

law*_*999 0

我通过使用邮件编辑器找到了解决方案,并且效果很好。

https://disjoint.ca/til/2017/09/20/how-to-send-emails-with-attachments-using-the-node.js-api-for-amazon-ses/

  • 上面的 SDK 链接没有发送带有附件的电子邮件的示例,因此请不要浪费时间阅读它。 (6认同)
  • 该项目不再维护:https://github.com/nodemailer/mailcomposer (4认同)