在Node.js中发送电子邮件?

我最近开始编程我的第一个node.js。 但是,我发现我无法创build一个直接发送给我的电子邮件的联系人表单,因为我找不到能够发送电子邮件的节点的任何模块。

有谁知道一个node.js电子邮件库或示例联系表单脚本?

node-email-templates是一个更好的select: https : //github.com/niftylettuce/node-email-templates

它也支持Windows

Nodemailer基本上是一个模块,使您能够在Node.js编程时轻松发送电子邮件。 在http://www.nodemailer.com/上有很多关于如何使用Nodemailer模块的例子。; 有关如何安装和使用Nodemailer的基本function的完整说明包含在此链接中。

我个人遇到了使用npm安装Nodemailer的麻烦,所以我只是下载了源代码。 有对npm安装和下载源的说明。

这是一个非常简单的模块使用,我会推荐给任何想用Node.js发送邮件的人。 祝你好运!

退房emailjs

浪费了大量的时间在尝试使大型附件的节点工作,从那以后发现了emailjs和开心。

它支持使用正常的File对象发送文件,而不是像nodemailer所要求的那样使用巨大的缓冲区。 意思是你可以把它链接到fe,强大的将附件从html表单传递给邮件程序。 它也支持排队

总而言之,不知道为什么nodejitsu pplselectnodemailer作为其基础的版本,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接受的答案似乎是过时的,我看了一下,并且这个邮件库在7个月以上没有被触及,列出了一些错误,并且不再以npm注册。

nodemailer看起来像最好的select,但在这个线程的其他答案中提供的url都是404'。

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 GUI( 仪表板 )中,您可以使用发送的数据编辑模板:

 <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编写的,它是专门为电子邮件devise的简单模板语言。

成熟,使用简单,并有很多function,如果简单是不够的: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 mailselect最佳select:

 email@0.2.2 mail@0.1.1 mailer@0.3.0 

你一定要使用https://github.com/niftylettuce/node-email-templates,因为它支持nodemailer / postmarkapp,并且内置了漂亮的asynchronous邮件模板支持。

广告系列是在Node中发送电子邮件的全面解决scheme,它附带了一个非常简单的API。

你像这样实例化。

 var client = require('campaign')({ from: 'you@gmail.com' }); 

发送电子邮件,您可以使用Mandrill ,这是免费的,真棒。 只需设置您的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回购有相当广泛的文档 。