无服务器电子邮件附件

时间:2019-01-16 15:35:10

标签: amazon-web-services amazon-ses serverless-framework serverless aws-serverless

我是Serverless和AWS的入门者。我实际上陷入了困境。通过无服务器发送电子邮件时,我想附加文件。事实是我找不到符合我要求的完美文章或文档。

我所做的是

JS文件。

exports.sendMail = async(event) =>{
    var data = {
      Destination: {
       ToAddresses: [
        "******.@gmail.com"
       ]
      },
      Message: {
       Body: {
        Html: {
         Charset: "UTF-8",
         Data: "This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>."
        },
        Text: {
         Charset: "UTF-8",
         Data: "This is the message body in text format."
        }
       },
       Subject: {
        Charset: "UTF-8",
        Data: "Test email"
       }
      },
      Source: "********.com",
     }

    try {
      const sendPromise = await new AWS.SES({ apiVersion: "2010-12-01" })
      .sendEmail(data)
      .promise();
      return{
        statusCode: 200,
        body: JSON.stringify(sendPromise)
      }
    }catch (err){
      return {
        statusCode: err.statusCode || 400,
        body: err.message || JSON.stringify(err.message)
      }
    }
}

我要做的就是发送邮件。这正在按预期方式工作。但是不知道在何处插入附件部分。

非常感谢您的帮助或建议。

预先感谢

1 个答案:

答案 0 :(得分:1)

您必须使用SES.sendRawEmail() API才能发送带有附件的电子邮件。 SES Developer指南中有几本examples,可以用各种编程语言(当前为Java,PHP,Python和Ruby)实现。另请阅读Sending Raw Email一章以获取一般信息。