我的网站上有一个联系表单,使用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,但我完全不知道如何解决这个问题。
有什么想法吗?