2013-03-12 41 views
2

我正在使用nodemailer向SES發送電子郵件。我將其設置是這樣的:Node.js Nodemailer和SES - 錯誤:未定義傳輸方法

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

當我給我的電子郵件時:

Error: No transport method defined

任何想法,爲什麼發生這種情況?

*編輯:*嘗試都解決方案,他們沒有工作

回答

4

你必須使用在發送郵件的運輸。只要嘗試如下,

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 : '[email protected]' , 
     to : '[email protected]', 
     subject : "SUBJECT", 
     html: '<p> Hello World </p>' 
     }) 

注:在這裏,我認爲,你的交通是一個有效和你的關鍵是足夠的權限

3

ServiceUrl配置不正確(網絡許可也是如此。)。 Amazon SES目前只有available in us-east-1。請將ServiceUrl設置爲https://email.us-east-1.amazonaws.com

另外,爲了將來的參考,請不要共享您的AWS密鑰。我強烈建議您旋轉您的AWS密鑰,因爲它們在您的問題中較早發佈。

+0

謝謝關於鑰匙,只是改變了他們 – 2013-03-13 00:23:07