我最近开始编程我的第一个node.js。但是,我发现我无法创建直接发送到我的电子邮件的“联系我”表单,因为我无法从节点中找到能够发送电子邮件的模块。
有人知道node.js电子邮件库或示例联系表单脚本吗?
我最近开始编程我的第一个node.js。但是,我发现我无法创建直接发送到我的电子邮件的“联系我”表单,因为我无法从节点中找到能够发送电子邮件的模块。
有人知道node.js电子邮件库或示例联系表单脚本吗?
Answers:
node-email-templates是一个更好的选择:https : //github.com/niftylettuce/node-email-templates
它也支持Windows
node-email-templates
和跑步。我只想将其用作初始化的对象,然后再用于发送。无法正常工作。放弃。
Nodemailer基本上是一个模块,使您能够在Node.js中进行编程时轻松发送电子邮件。http://www.nodemailer.com/上有一些很好的示例,说明了如何使用Nodemailer模块。此链接中包含有关如何安装和使用Nodemailer基本功能的完整说明。
我个人在使用npm安装Nodemailer时遇到了麻烦,因此我只是下载了源代码。有关npm安装和下载源的说明。
这是一个非常简单的模块,我会推荐给想要使用Node.js发送电子邮件的任何人。祝好运!
看看emailjs
在浪费大量时间试图使nodemailer处理大型附件后,从那时起发现emailjs并感到高兴。
它支持使用普通的File对象发送文件,而不是nodemailer要求的大缓冲区。意味着您可以将其链接到fe,从而将附件从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();
});
Nodemailer
方法比容易使用node-email-templates
。也许是因为我只是想发送基本的纯文本/基本的html电子邮件,但是我发现node-email-templates
需要更多的设置方式,而Nodemailer
实际上是在2分钟内就启动并运行了。
TypeError: Cannot create property 'mailer' on string 'SMTP' at new Mail
。我去了像帖子这个,然后这个页面,但还是输了。
@JimBastard接受的答案似乎是过时的,我看了一下,发现邮寄库在7个月内没有被使用过,列出了多个错误,并且不再在npm中注册。
nodemailer当然看起来是最好的选择,但是此线程上其他答案中提供的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编写的,这是一种专门为电子邮件设计的简单模板语言。
成熟,简单易用,如果简单还不够,还具有许多功能:Nodemailer:https : //github.com/andris9/nodemailer(注意正确的URL!)
Nodemailer模块是在node.js中发送电子邮件的最简单方法。
尝试使用此示例示例表单:http : //www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module
您肯定要使用https://github.com/niftylettuce/node-email-templates,因为它支持nodemailer / postmarkapp并内置了漂亮的异步电子邮件模板支持。
Campaign是用于在Node中发送电子邮件的全面解决方案,它带有一个非常简单的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仓库有相当丰富的文档。