【发布时间】:2020-06-11 07:44:27
【问题描述】:
我想收到带有变量“mail”“message”“name”的电子邮件......就像“你好{name}你好吗?你的电子邮件是{mail},这是你的{message}联系人的副本form" .....问题是我只收到 {mail} 而不是 {message} {name}
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const nodemailer = require('nodemailer');
const gmailEmail = functions.config().gmail.login;
const gmailPassword = functions.config().gmail.pass;
admin.initializeApp();
var goMail = function (message) {
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: gmailEmail,
pass: gmailPassword
}
});
const mailOptions = {
from: gmailEmail,
to: 'la***@gmail.com',
subject: 'Hello ✔',
text: '!' + message,
html: '!' + message
};
const getDeliveryStatus = function (error, info) {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
};
transporter.sendMail(mailOptions, getDeliveryStatus);
};
exports.onDataAdded = functions.database.ref('/emails/{sessionId}').onCreate(function (snap, context) {
const createdData = snap.val();
var text = createdData.mail;
goMail(text);
});
这就是我的 firebase 实时数据库的外观
emails
-**sesionID*
mail: "randommail@gmail.com"
message:"test"
name:"testname"
我尝试从代码中添加/编辑它,但这无济于事:-/
var goMail = function (message, secondmessage)
const mailOptions = {
from: gmailEmail,
to: 'la***@gmail.com',
subject: 'Hello ✔',
text: '!' + message + secondmessage,
html: '!' + message + secondmessage
};
var text = createdData.mail;
var secondtext = createdData.name
goMail(text, secondtext);
谢谢大家的回答,祝你有美好的一天!
【问题讨论】:
-
您好 Radek,欢迎来到 Stack Overflow,我不太了解您的代码发生了什么,您是否收到任何错误消息,或者结果不是您所期望的?您可以编辑带有错误消息的问题或您期望的结果/您得到的结果吗?请参阅此link 以查看有关您应在问题中添加内容的更多信息。另外,我在您的代码中注意到您正在使用 2 个参数调用您的 gomail 函数,即使预期只有 1 个,对吗?
-
感谢 Ralemos,感谢您提供的链接,我下次会更好:-)。我没有收到我期望的结果...我想收到带有变量“mail”“message”“name”的电子邮件......就像“你好{name}你好吗?你的电子邮件是{mail},这是一个从联系表中复制您的 {message}” .....问题是我只收到 {mail} 而不是 {message} {name}
标签: javascript reactjs firebase google-cloud-functions nodemailer