我最近开始编写我的第一个node.js。然而,我发现我无法创建一个联系我的形式,直接发送到我的电子邮件,因为我找不到任何模块从节点,能够发送电子邮件。

有人知道node.js的电子邮件库或示例联系表单脚本吗?


当前回答

Nodemailer模块是在node.js中发送电子邮件的最简单的方式。

试试这个示例表单:http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module

附加信息:http://www.nodemailer.com/

其他回答

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回购有相当广泛的文档。

你肯定想使用https://github.com/niftylettuce/node-email-templates,因为它支持nodemailer/postmarkapp,并内置了漂亮的异步电子邮件模板支持。

Nodemailer模块是在node.js中发送电子邮件的最简单的方式。

试试这个示例表单:http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module

附加信息:http://www.nodemailer.com/

成熟,使用简单,如果简单还不够的话,有很多功能: Nodemailer: https://github.com/andris9/nodemailer(请注意正确的url!)

你可以随时使用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编写的,这是一种专门为电子邮件设计的简单模板语言。