2013-03-12 8 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

Любые идеи, почему это происходит?

* EDIT: * Пробовал оба решения, и они не работали

ответ

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

Спасибо за ключи, только что изменили их –