2014-11-04 3 views
0

Здравствуйте, Я пытаюсь отправить почту с приложением, используяОтправить письмо с вложений с помощью AWS-SDK (Amazon SES) с помощью nodejs

var params = { 
     RawMessage: { 
      From: "[email protected]", 
      To: "[email protected]", 
      Date: new Date(), 
      Subject: "Hello", 
      "Accept-Language": "en-US", 
      "Content-Language": "en-US", 
      "Content-Type": "text/plain", charset: "us-ascii", 
      "Content-Transfer-Encoding": "quoted-printable", 
      "MIME-Version": 1.0, 
      Data: "Hello, I hope you are having a good day." 
     }, 
     Destinations: [ 
      "[email protected]" 
     ], 
     Source: "[email protected]" 
    }; 

    ses.sendRawEmail(params, function (err, data) { 
     if (err) console.log("err>>" + err, err.stack); // an error occurred 
     else  console.log("data>>>" + JSON.stringify(data));   // successful response 
    }); 

, но я получаю ошибку

UnexpectedParameter: Неожиданный ключ «От» найден в params.RawMessage * Неожиданный параметр: Неожиданный ключ «To» найден в params.RawMessage * Неожиданный параметр: Неожиданный ключ «Дата» найден в params.RawMessage * Неожиданный параметр: Неожиданный key 'Subject' найдено в params.RawMessage * UnexpectedParameter: Неожиданный ключ 'Accept-Language' найден в params.RawMessage * UnexpectedParameter: Неожиданный ключ 'Content-Language' найден в params.RawMessage * UnexpectedParameter: Неожиданный ключ 'Content- Тип 'найден в params.RawMessage * UnexpectedParameter: Неожиданный ключ' charset ', найденный в params.RawMessage * Неожиданный Параметр: Неожиданный ключ' Content-Transfer-Encoding 'найден в params.RawMessage * НеожиданныйПараметр: Неожиданный ключ' MIME-Version ' найдено в params.RawMessage

Я знаю, что я не использую правильный формат параметров, но у меня нет нужного формата в любом месте, пожалуйста, помогите мне .... . Заранее спасибо ...

ответ

1

According to the documentation, поле RawMessage содержит только Data свойство и ничего больше. Поле Data содержит полное необработанное сообщение электронной почты, включая заголовки и тело (или тела), все правильно отформатированные (экранирование, кодирование) и ограничиваемые (правильное количество новых строк).

Возможно, вы ищете sendEmail, что позволяет устанавливать заголовки, такие как поля «Кому», «От» и «Тема», как key-value.

+0

Спасибо RikkusRukkus, Не могли бы вы сообщить мне подробно, что должны содержать данные, я должен был отправить электронную почту с приложением и, если возможно, содержать несколько экземпляров, cc и bcc, и где мне нужно написать тему, я потребовал для этого используйте Nodejs, пожалуйста, помогите мне, спасибо –

+2

'Data' должен быть буфером с * полным * электронным письмом. Это означает, что вы сначала устанавливаете заголовки, двойную новую строку, затем тело. Просто используйте [mailcomposer] (https://github.com/andris9/mailcomposer). Это облегчает вашу жизнь. Вывод 'mailcomposer.buildMessage', вероятно, может быть непосредственно введен в' Data'. – RikkusRukkus

+0

Спасибо RikkusRukkus, я получил много с вашей ссылкой, но все еще имею 2 проблемы, 1-й я не могу подключить файл из своей системы, а 2-й я должен записать содержимое в файл, а затем прочитать из файла, а затем передать его RawMessage- -> data, mailcomposer.addAttachment ({// это не работает fileName: "serv.txt", filePath: "./cust-serv.txt" }); mailcomposer.streamMessage(); mailcomposer.pipe (fs.createWriteStream ("testnew.eml")); fs.readFile ('testnew.eml', функция (ERR, данные) { , если (ERR) {..} PARAMS = { RawMessage: { данных: }, ....... ..... –