Node.js 在NodeEmailer的文本部分添加各种字段
我正在使用nodemailer从我的angular应用程序发送邮件。我有一个变量,它有几个属性,比如Node.js 在NodeEmailer的文本部分添加各种字段,node.js,firebase,google-cloud-firestore,google-cloud-functions,nodemailer,Node.js,Firebase,Google Cloud Firestore,Google Cloud Functions,Nodemailer,我正在使用nodemailer从我的angular应用程序发送邮件。我有一个变量,它有几个属性,比如firstname,middlename,email,mobile,address。我正在从firebase获取这些数据,每个变量都可以通过写入$data.firstname,$data.email来访问。我现在只能发送1个变量。我想将所有变量发送到带有标签的邮件 所以邮件内容应该是 电邮-abc@123 名字-ABC 地址-LMN 移动电话-7777 请帮帮我 const functions
firstname
,middlename
,email
,mobile
,address
。我正在从firebase获取这些数据,每个变量都可以通过写入$data.firstname
,$data.email
来访问。我现在只能发送1个变量。我想将所有变量发送到带有标签的邮件
所以邮件内容应该是
- 电邮-abc@123
- 名字-ABC
- 地址-LMN
- 移动电话-7777
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const nodemailer = require('nodemailer');
admin.initializeApp()
require('dotenv').config()
const {SENDER_EMAIL, SENDER_PASS} = process.env;
exports.sendMailNotification1=functions.firestore.document('submissions/{docID}')
.onCreate((snap, ctx)=> {
const data=snap.data();
let authData=nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure:true,
auth:{
user: SENDER_EMAIL,
pass: SENDER_PASS
}
});
authData.sendMail({
from: 'xxx@gmail.com',
to: 'xyz@gmail.com',
subject: 'Appointment Info ',
text:`${data.fname}`,
html:`${data.email}`,
}).then(res=>console.log('Succesfully Sent')).catch(err=> console.log(err)
);
})
如nodeEmailer中所述,您可以选择: 使用
消息
的文本
元素发送“消息的纯文本版本”
或
使用消息
的html
元素发送“消息的html版本”
例如,如果使用HTML选项,可以使用如下HTML列表:
//...
const htmlContent = `<ul><li>Email - ${data.email}</li><li>Address - ${data.address}</li></ul>`;
return authData.sendMail({
from: 'xxx@gmail.com',
to: 'xyz@gmail.com',
subject: 'Appointment Info',
html: htmlContent
})
.then(res => {
console.log('Succesfully Sent');
return null;
})
.catch(err => {
console.log(err);
return null;
});
/。。。
const htmlContent=`- 电子邮件-${data.Email}
- 地址-${data.Address}
`;
返回authData.sendMail({
发件人:'xxx@gmail.com',
致:'xyz@gmail.com',
主题:“约会信息”,
html:htmlContent
})
。然后(res=>{
console.log(“成功发送”);
返回null;
})
.catch(错误=>{
控制台日志(err);
返回null;
});
注意在代码中添加了几个
return
s,有关这一关键方面的更多信息,请参阅。如NodeEmailer中所述,您可以选择:
使用消息
的文本
元素发送“消息的纯文本版本”
或
使用消息
的html
元素发送“消息的html版本”
例如,如果使用HTML选项,可以使用如下HTML列表:
//...
const htmlContent = `<ul><li>Email - ${data.email}</li><li>Address - ${data.address}</li></ul>`;
return authData.sendMail({
from: 'xxx@gmail.com',
to: 'xyz@gmail.com',
subject: 'Appointment Info',
html: htmlContent
})
.then(res => {
console.log('Succesfully Sent');
return null;
})
.catch(err => {
console.log(err);
return null;
});
/。。。
const htmlContent=`- 电子邮件-${data.Email}
- 地址-${data.Address}
`;
返回authData.sendMail({
发件人:'xxx@gmail.com',
致:'xyz@gmail.com',
主题:“约会信息”,
html:htmlContent
})
。然后(res=>{
console.log(“成功发送”);
返回null;
})
.catch(错误=>{
控制台日志(err);
返回null;
});
请注意,代码中添加了几个
return
s,有关这一关键方面的更多信息,请参阅。我不太清楚,但您是否有用户输入这些数据的联系表单?是的,我有表单,用户输入数据。我应该把数据发送给某个X个人的邮件。因此,我是在nodemailer的帮助下完成这项工作的。首先,我将表单数据发送到firebase,然后通过上述函数sendEmailNotification的帮助,我将发送邮件。问题是我只能发送1个变量<代码>$data.email。但是我想发送所有的变量我不确定我是否理解,但是你有一个用户输入这些数据的联系表单吗?是的,我有一个表单,用户输入数据。我应该把数据发送给某个X个人的邮件。因此,我是在nodemailer的帮助下完成这项工作的。首先,我将表单数据发送到firebase,然后通过上述函数sendEmailNotification的帮助,我将发送邮件。问题是我只能发送1个变量<代码>$data.email。但是我想把所有的变量都发送给你,请你也帮我回答这个问题。。你能帮我回答这个问题吗。。