5

尝试使用 nodemailer 设置联系表格。这是我的 app.js 中的内容:

// EMail configuration
var smtpTransport = nodemailer.createTransport("SMTP",{
    service: "Gmail",
    auth: {
        user: "myemailaddress",
        pass: "xxx"
    }
});

// CONTACT FORM
app.get('/contact', function (req, res) {
    res.render("contact");
});

app.post('/contact', function (req, res) {
    var mailOptions = {
        from: req.body.email, // sender address
        to: "myemailaddress", // list of receivers
        subject: req.body.subject, // Subject line
        text: req.body.message, // plaintext body
    }
    smtpTransport.sendMail(mailOptions, function(error, response){
        if(error){
            console.log(error);
        }else{
            console.log("Message sent: " + response.message);
        }
        smtpTransport.close(); // shut down the connection pool, no more messages
    });
    res.render("contact", { success: "building web app" });
});

我的contact.jade 模板如下所示:

form#contact-form(action="/contact", method="POST")
div.span5
    p Full name:
        input#name(type="text", name="name")
    p Email address:
        input#email(type="email", name="email")
    p Subject:
        input#subject(type="text", name="subject")
    p Message:
        textarea#message(type="text", name="message", rows="5")
    p: button(type="submit") Send message

该电子邮件现在可以使用,但来自 myemailaddress,而不是我在模板上的电子邮件字段中输入的那个。有任何想法吗

4

2 回答 2

5

Gmail 和许多其他电子邮件服务不允许您发送包含各种FROM字段的邮件。

于 2013-06-05T15:54:14.443 回答
0

您可以使用邮戳,它们为发送电子邮件提供了出色的 api,并且有一个节点模块(https://npmjs.org/package/postmark

于 2013-06-05T21:56:18.073 回答