让NodeJS的Nodemailer从用户的地址发送电子邮件

时间:2014-04-10 08:12:38

标签: node.js email nodemailer

我的网站上有一个联系表单,使用NodeJS将表单信息发送到我的Nodemailer api。

我的代码如下所示:

var mail = {
        from: data.inputName + " <" + data.inputEmail + ">",
        to: 'info@mywebsite.com',
        subject: "Inquiry",
        text: messageText
  }

var smtpTransport = mailer.createTransport("SMTP",{
        service: "Gmail",
        auth: {
            user: "info@mywebsite.com",
            pass: "password12345678"
        }
    });

    smtpTransport.sendMail(mail, function(error, response){
        if(error){
            console.log(error);
            if(res){
              res.header("Access-Control-Allow-Origin", "*");
              res.header("Access-Control-Allow-Headers", "X-Requested-With");
              res.send('error');
            }
        }else{
            console.log("Message sent: " + response.message);
            if(res){
              console.log("There was res!");
              res.header("Access-Control-Allow-Origin", "*");
              res.header("Access-Control-Allow-Headers", "X-Requested-With");
              res.send('success');
            }else{
              console.log("There wasn't res!");
            }
        }
        smtpTransport.close();
    });

当我收到此邮件时,它看起来像是:

from:    User's Inputted Name <info@mywebsite.com> <--- this is bad
to:      info@mywebsite.com <--- this is correct
date:    10 April 2014 18:06
subject: Inquiry

如何将from字段设为用户的data.inputEmail?我假设它是因为我使用info@mywebsite.com用户名和密码登录SMTPTransport,但我完全不知道如何解决这个问题。

有什么想法吗?

0 个答案:

没有答案