Node.js Nodemailer 和 SES - 错误:未定义传输方法
Posted
技术标签:
【中文标题】Node.js Nodemailer 和 SES - 错误:未定义传输方法【英文标题】:Node.js Nodemailer And SES - Error: No transport method defined 【发布时间】: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"
),
当我发送我收到的电子邮件时:
错误:未定义传输方法
关于为什么会发生这种情况的任何想法?
*编辑:*尝试了两种解决方案,但它们都不起作用
【问题讨论】:
【参考方案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 密钥,因为它们已在您的问题前面发布。
【讨论】:
感谢钥匙,刚刚换好了以上是关于Node.js Nodemailer 和 SES - 错误:未定义传输方法的主要内容,如果未能解决你的问题,请参考以下文章
Node.js 和 Nodemailer:我们可以将 PDF 文档附加到电子邮件中吗?
使用 node.js、node mailer 和 nodemailer-mailgun-transport 发送模板化电子邮件