Отправка электронной почты в узле.Джей? [закрытый]
недавно я начал программировать свой первый узел.js. Однако я обнаружил, что не могу создать форму "связаться со мной", которая отправляет прямо на мою электронную почту, так как я не могу найти модули из узла, который может отправлять электронные письма.
кто-нибудь знает узла.библиотека электронной почты js или пример сценария контактной формы?
11 ответов:
узел-email-шаблонов является гораздо лучшим вариантом: https://github.com/niftylettuce/node-email-templates
Он также поддерживает windows
Nodemailer-это в основном модуль, который дает вам возможность легко отправлять электронные письма при программировании в узле.js. Есть несколько замечательных примеров того, как использовать модуль Nodemailer в http://www.nodemailer.com/. Полная инструкция о том, как установить и использовать основные функциональные возможности Nodemailer включена в эту ссылку.
У меня лично были проблемы с установкой Nodemailer с помощью npm, поэтому я просто загрузил источник. Существуют инструкции для обоих НПМ установите и загрузите исходный код.
Это очень простой модуль для использования, и я бы рекомендовал его всем, кто хочет отправлять электронные письма с помощью узла.js. Удачи вам!
проверить emailjs
потратив много времени на попытки заставить nodemailer работать с большими вложениями, нашел emailjs и с тех пор счастлив.
Он поддерживает отправку файлов с помощью обычных файловых объектов, а не огромных буферов, как требует 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: "gmail_id@gmail.com", pass: "gmail_password" } }); var mail = { from: "Yashwant Chavan <from@gmail.com>", to: "to@gmail.com", 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, похоже, датирован, я посмотрел, и что mailer 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", "from@example.com")) .setReceiver(new alphamail.EmailContact("John Doe", "to@example.org")) .setBodyObject(person) // Any serializable object );
и в графическом интерфейсе AlphaMail (Панель управления) вы сможете редактировать шаблон с данными, которые вы отправили:
<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-это самый простой способ отправки электронной почты в узле.js.
попробуйте этот пример пример формы:http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module
Дополнительная Информация: http://www.nodemailer.com/
npm имеет несколько пакетов, но ни один из них еще не достиг 1.0. Лучшие варианты из
npm list mail
:email@0.2.2 mail@0.1.1 mailer@0.3.0
вы определенно хотите использовать https://github.com/niftylettuce/node-email-templates поскольку он поддерживает nodemailer / postmarkapp и имеет встроенную поддержку асинхронных шаблонов электронной почты.
кампания это комплексное решение для отправки электронной почты в узле, и он поставляется с очень простым API.
вы пример его так.
var client = require('campaign')({ from: 'you@gmail.com' });
для отправки электронной почты, вы можете использовать мандрил, который является бесплатным и удивительным. Просто установите свой ключ API, например:
process.env.MANDRILL_APIKEY = '<your api key>';
(если вы хотите отправлять электронные письма с помощью другого поставщика, проверьте документы)
затем, когда вы хотите отправить электронной почты, вы можете сделать это так:
client.sendString('<p>{{something}}</p>', { to: ['someone@gmail.com', 'someone.else@gmail.com'], subject: 'Some Subject', preview': 'The first line', something: 'this is what replaces that thing in the template' }, done);
РЕПО GitHub имеет довольно обширная документация.