Ответ 1
node -email-templates - намного лучший вариант: https://github.com/niftylettuce/node-email-templates
у него есть поддержка окон, а также
Недавно я начал программировать свои первые node.js. Тем не менее, я обнаружил, что не могу создать контактную форму, которая отправляется прямо на мой адрес электронной почты, поскольку я не могу найти модули из node, которые могут отправлять электронные письма.
Кто-нибудь знает о библиотеке электронной почты node.js или в форме контактного формуляра script?
node -email-templates - намного лучший вариант: https://github.com/niftylettuce/node-email-templates
у него есть поддержка окон, а также
Nodemailer - это в основном модуль, который дает вам возможность легко отправлять электронную почту при программировании в Node.js. Есть несколько отличных примеров использования модуля Nodemailer в http://www.nodemailer.com/. Полные инструкции о том, как установить и использовать базовые функции Nodemailer, включены в эту ссылку.
Мне лично не удалось установить Nodemailer с помощью npm, поэтому я просто загрузил источник. Существуют инструкции для установки и загрузки npm.
Это очень простой модуль для использования, и я рекомендую его всем, кто хочет отправлять электронные письма с помощью Node.js. Удачи!
Отъезд emailjs
После того, как вы потратили много времени на то, чтобы заставить nodemailer работать с большими вложениями, нашли emailjs и счастливы с тех пор.
Он поддерживает отправку файлов с использованием обычных объектов File, а не огромных буферов, поскольку требует nodemailer. Это означает, что вы можете связать его, т.е. Грознее передать вложения из html-формы в почтовую программу. Он также поддерживает очередь.
В общем, не знаю, почему nodejitsu ppl выбрал nodemailer, чтобы основывать свою версию на, emailjs намного более продвинут.
Полный код для отправки электронной почты с использованием модуля nodemailer
var mailer = require("nodemailer");
// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "[email protected]",
pass: "gmail_password"
}
});
var mail = {
from: "Yashwant Chavan <[email protected]>",
to: "[email protected]",
subject: "Send Email Using Node.js",
text: "Node.js New world for me",
html: "<b>Node.js New world for me</b>"
}
smtpTransport.sendMail(mail, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
smtpTransport.close();
});
Принятый ответ @JimBastard, похоже, датирован, я посмотрел и что почтовая программа lib не была затронута более 7 месяцев, содержит несколько ошибок и больше не зарегистрирована в npm.
nodemailer, безусловно, выглядит как лучший вариант, однако url, предоставленный в других ответах на этот поток, все 404'ing.
nodemailer утверждает, что поддерживает легкие плагины в gmail, hotmail и т.д., а также имеет действительно красивую документацию.
Вы всегда можете использовать AlphaMail (раскрытие: я один из разработчиков за ним).
Просто установите NPM:
npm install alphamail
Зарегистрируйтесь для учетной записи AlphaMail. Получите токен, а затем вы можете начать отправку с помощью службы AlphaMail.
var alphamail = require('alphamail');
var emailService = new alphamail.EmailService()
.setServiceUrl('http://api.amail.io/v1/')
.setApiToken('YOUR-ACCOUNT-API-TOKEN-HERE');
var person = {
id: 1234,
userName: "jdoe75",
name: {
first: "John",
last: "Doe"
},
dateOfBirth: 1975
};
emailService.queue(new alphamail.EmailMessagePayload()
.setProjectId(12345) // ID of your AlphaMail project (determines template, options, etc)
.setSender(new alphamail.EmailContact("Sender Company Name", "[email protected]"))
.setReceiver(new alphamail.EmailContact("John Doe", "[email protected]"))
.setBodyObject(person) // Any serializable object
);
И в графическом интерфейсе AlphaMail (Dashboard) вы сможете отредактировать шаблон с данными, которые вы отправили:
<html>
<body>
<b>Name:</b> <# payload.name.last " " payload.name.first #><br>
<b>Date of Birth:</b> <# payload.dateOfBirth #><br>
<# if (payload.id != null) { #>
<a href="http://company.com/sign-up">Sign Up Free!</a>
<# } else { #>
<a href="http://company.com/login?username=<# urlencode(payload.userName) #>">Sign In</a>
<# } #>
</body>
</html>
Шаблоны написаны в Comlang, это простой язык шаблонов, специально предназначенный для электронных писем.
Зрелая, простая в использовании и имеющая множество функций, если просто не хватает: Nodemailer: https://github.com/andris9/nodemailer (обратите внимание на правильный URL!)
Модуль Nodemailer - это самый простой способ отправки писем в node.js.
Попробуйте эту примерную форму: http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module
Дополнительная информация: http://www.nodemailer.com/
npm имеет несколько пакетов, но пока ничего не достигло 1.0. Лучшие выборы от npm list mail
:
[email protected]
[email protected]
[email protected]
Вы определенно хотите использовать https://github.com/niftylettuce/node-email-templates, так как он поддерживает nodemailer/postmarkapp и имеет встроенную поддержку шаблона электронной почты async.
campaign - это комплексное решение для отправки писем в Node, и оно поставляется с очень простым API.
Вы примерьте это так.
var client = require('campaign')({
from: '[email protected]'
});
Чтобы отправить электронную почту, вы можете использовать Mandrill, что является бесплатным и удивительным. Просто установите ключ API, например:
process.env.MANDRILL_APIKEY = '<your api key>';
(если вы хотите отправлять электронные письма с помощью другого провайдера, проверьте документы)
Затем, когда вы хотите отправить электронное письмо, вы можете сделать это следующим образом:
client.sendString('<p>{{something}}</p>', {
to: ['[email protected]', '[email protected]'],
subject: 'Some Subject',
preview': 'The first line',
something: 'this is what replaces that thing in the template'
}, done);
Репозиторий GitHub довольно обширная документация.