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

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


当前回答

使用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.js编程时轻松发送电子邮件。http://www.nodemailer.com/上有一些关于如何使用Nodemailer模块的很好的示例。关于如何安装和使用Nodemailer基本功能的完整说明包含在此链接中。

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

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

查看emailjs

在浪费了大量时间试图使nodemailer工作与大附件,发现emailjs和快乐的从那时起。

它支持通过使用普通的File对象来发送文件,而不是像nodemailer那样需要巨大的buffer。这意味着您可以将其链接到,例如,将附件从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库已经超过7个月没有碰过了,列出了几个bug,并且不再在npm中注册。

Nodemailer当然看起来是最好的选择,但是在这个线程的其他答案中提供的url都是404'ing。

Nodemailer声称支持简单的插件到gmail, hotmail等,也有非常漂亮的文档。

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

它也支持Windows