Node.js 使用NodeEmailer发送电子邮件,使用firebase功能发送自定义电子邮件,而不是gmail
我正在尝试发送一封简单的电子邮件,其中包含Firebase的NodeEmailer和云功能,而不是GMAIL。我使用我的GoDaddy电子邮件服务器,但Firebase控制台的云功能出现以下错误:Node.js 使用NodeEmailer发送电子邮件,使用firebase功能发送自定义电子邮件,而不是gmail,node.js,angular,firebase,nodemailer,google-cloud-functions,Node.js,Angular,Firebase,Nodemailer,Google Cloud Functions,我正在尝试发送一封简单的电子邮件,其中包含Firebase的NodeEmailer和云功能,而不是GMAIL。我使用我的GoDaddy电子邮件服务器,但Firebase控制台的云功能出现以下错误: { Error: getaddrinfo ENOTFOUND mail.square-boat.gr mail.square-boat.gr:587 at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onloo
{ Error: getaddrinfo ENOTFOUND mail.square-boat.gr mail.square-boat.gr:587
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
code: 'ECONNECTION',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'mail.square-boat.gr',
host: 'mail.square-boat.gr',
port: '587',
command: 'CONN' }
这是index.js上函数的代码:
const mailTransport = nodemailer.createTransport({
host: 'mail.square-boat.gr',
auth: {
user: 'info@square-boat.gr',
pass: 'xxxxx!'
},
secure: false, // use TLS
port : '587'
});
exports.sendContactMessage = functions.database.ref('/emails/{pushKey}').onWrite(event => {
const snapshot = event.data;
// Only send email for new messages.
if (snapshot.previous.val() || !snapshot.val().name) {
return;
}
const val = snapshot.val();
const mailOptions = {
from: 'test@example.com',
to: 'test@example.com',
subject: `Information Request from ${val.name}`,
html: val.html
};
return mailTransport.sendMail(mailOptions).then(() => {
return console.log('Mail sent to: test@example.com')
}).catch( error => {
console.log(error);
});
});
你在使用免费计划吗?它将出站网络请求仅限于谷歌服务。是的,我使用sparkbob,如果我转到下一个firebase计划,这是100%的。你需要转到付费计划。我没有使用外部邮件传输,也不能说你的代码是否正确。它可能需要一些改变,但你应该能够让它工作。你正在使用免费计划吗?它将出站网络请求仅限于谷歌服务。是的,我使用sparkbob,如果我转到下一个firebase计划,这是100%的。你需要转到付费计划。我没有使用外部邮件传输,也不能说你的代码是否正确。它可能需要一些更改,但您应该能够使其正常工作。