在nodemailer的文本部分添加各种字段
Add various fields in the text section of nodemailer
我正在使用 nodemailer 从我的 angular 应用发送邮件。我有一个变量,它有几个属性,如 firstname
、middlename
、email
、mobile
、address
。我正在从 firebase 中获取这些数据,并且可以通过编写 $data.firstname
、$data.email
来访问每个变量。我现在只能发送 1 个变量。我想将所有变量发送到带有标签
的邮件中
所以邮件内容应该是
- 邮箱 - abc@123
- 名字 - ABC
- 地址 - LMN
- 手机 - 7777777777
请帮帮我。
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)
);
})
如 NodeMailer doc 中所述,您可以选择:
使用 message
的 text
元素发送 "the plaintext version of the message"
或
使用 message
的 html
元素发送 "the HTML version of the message"。
例如,如果您使用 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;
});
请注意在代码中添加了几个 return
,有关此关键方面的更多信息,请参阅 https://firebase.google.com/docs/functions/terminate-functions。
我正在使用 nodemailer 从我的 angular 应用发送邮件。我有一个变量,它有几个属性,如 firstname
、middlename
、email
、mobile
、address
。我正在从 firebase 中获取这些数据,并且可以通过编写 $data.firstname
、$data.email
来访问每个变量。我现在只能发送 1 个变量。我想将所有变量发送到带有标签
所以邮件内容应该是
- 邮箱 - abc@123
- 名字 - ABC
- 地址 - LMN
- 手机 - 7777777777
请帮帮我。
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)
);
})
如 NodeMailer doc 中所述,您可以选择:
使用 message
的 text
元素发送 "the plaintext version of the message"
或
使用 message
的 html
元素发送 "the HTML version of the message"。
例如,如果您使用 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;
});
请注意在代码中添加了几个 return
,有关此关键方面的更多信息,请参阅 https://firebase.google.com/docs/functions/terminate-functions。