【问题标题】:Node.js Nodemailer And SES - Error: No transport method definedNode.js Nodemailer 和 SES - 错误:未定义传输方法
【发布时间】:2013-02-27 09:57:06
【问题描述】:

我正在使用 nodemailer 通过 SES 发送电子邮件。我是这样设置的:

require("nodemailer").createTransport("SES", {
    AWSAccessKeyID: "AKIAJZFUSYQJNEX3VS2A",
    AWSSecretKey: "XXX", //real information removed
    SeviceUrl:"https://email.us-west-1.amazonaws.com"
}),

当我发送我收到的电子邮件时:

错误:未定义传输方法

关于为什么会发生这种情况的任何想法?

*编辑:*尝试了两种解决方案,但它们都不起作用

【问题讨论】:

    标签: node.js amazon-web-services amazon-ses nodemailer


    【解决方案1】:

    您必须使用传输来发送邮件。试试如下,

    var nodemailer = require("nodemailer");
    var transport = nodemailer.createTransport("SES", {
        AWSAccessKeyID: "AKIAJZFUSYQJNEX3VS2A",
        AWSSecretKey: "XXX",
        SeviceUrl:"https://email.us-west-1.amazonaws.com"
    }),
    
    //On sending mail
    nodemailer.sendMail({
            transport : transport, //pass your transport
            sender : 'senderid@email.com' ,
            to : 'receiverid@email.com',
            subject : "SUBJECT",
            html: '<p> Hello World </p>'
          })
    

    注意:这里我假设您的传输是有效的,并且您的密钥具有足够的权限(网络权限也是如此。)

    【讨论】:

      【解决方案2】:

      您的ServiceUrl 配置不正确。 Amazon SES 目前只有 available in us-east-1。请将ServiceUrl设置为https://email.us-east-1.amazonaws.com

      另外,为了将来参考,请不要分享您的 AWS 密钥。我强烈建议您轮换您的 AWS 密钥,因为它们已在您的问题前面发布。

      【讨论】:

      • 感谢钥匙,刚刚换好了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2021-12-24
      • 2015-05-14
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多