求助 nodemailer 如何将用户提交的表单内容发送到指定邮箱

2015-08-27 11:36:41 +08:00
 sindy
node.js 新手,求大神帮忙!!!!

想实现用户点击提交表单之后,将表单的内容以邮件的形式发送到指定的邮箱,
服务器端用 node.js ,发送邮件用 nodemailer 模块。
我的思路是给提交按钮绑定 submitData (),通过 xhr 发送到服务器,
在后台获取并替换 mailOptions 的 content 。

代码如下

sendmail.js

单独运行已经可以发送邮件,

var nodemailer = require ('nodemailer');
  var transporter = nodemailer.createTransport ({
    service: 'hotmail',
    auth: {
        user: 'xxx@hotmail.com',
        pass: '000000'
    }
});
var mailOptions = {
    from: 'xxx@hotmail.com', // sender address
    to: 'zzz@hotmail.com', // list of receivers
    subject: 'Hello', // Subject line
    text: 'Hello world', // plaintext body
    html: '<h1>Hello world </h1>' // content
};
transporter.sendMail (mailOptions, function (error, info ){
    if (error ){
        console.log (error );
    }else{
        console.log ('Message sent: ' + info.response );
    }
});

ajax

function submitData () {
    var xhr =creatXHR ();
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 ) {
            if (xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 )
alert (xhr.responseText );
} else {
    alert ("Request was unsuccessful:" + xhr.status );

        }
    }
};

xhr.open ("post","postexmple.js",ture );
xhr.setRequestHeader ('Content-Type',"application/x-www-form-urlencoded");
var form = documnet.getElementById ('user-info')
xhr.send (serialize (form ));
}
3241 次点击
所在节点    Node.js
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/216345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX