我最近开始编写我的第一个node.js。然而,我发现我无法创建一个联系我的形式,直接发送到我的电子邮件,因为我找不到任何模块从节点,能够发送电子邮件。
有人知道node.js的电子邮件库或示例联系表单脚本吗?
我最近开始编写我的第一个node.js。然而,我发现我无法创建一个联系我的形式,直接发送到我的电子邮件,因为我找不到任何模块从节点,能够发送电子邮件。
有人知道node.js的电子邮件库或示例联系表单脚本吗?
当前回答
成熟,使用简单,如果简单还不够的话,有很多功能: Nodemailer: https://github.com/andris9/nodemailer(请注意正确的url!)
其他回答
NPM有一些包,但还没有一个达到1.0。来自npm列表邮件的最佳选择:
email@0.2.2
mail@0.1.1
mailer@0.3.0
你可以随时使用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模块是在node.js中发送电子邮件的最简单的方式。
试试这个示例表单:http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module
附加信息:http://www.nodemailer.com/
查看emailjs
在浪费了大量时间试图使nodemailer工作与大附件,发现emailjs和快乐的从那时起。
它支持通过使用普通的File对象来发送文件,而不是像nodemailer那样需要巨大的buffer。这意味着您可以将其链接到,例如,将附件从html表单传递到邮件发送器。它还支持排队..
总而言之,不知道nodejitsu ppl为什么选择nodemailer作为他们的版本的基础,emailjs只是更高级。
Node-email-templates是一个更好的选择: https://github.com/niftylettuce/node-email-templates
它也支持Windows