saya menghadapi beberapa perilaku aneh (bagi saya).
Saya mencoba membuat formulir umpan balik di aplikasi firebase saya
Ini adalah formulir sederhana yang akan mengirimi saya email ketika pengguna mengirimkannya.
Saya membuat fungsi onCall
di aplikasi firebase saya.
Ketika saya mengujinya secara lokal melalui firebase experimental:functions:shell
itu berfungsi dan saya menerima email, tetapi email yang diterapkan selalu gagal dengan:
{
code: "ECONNECTION"
command: "CONN"
errno: "ENOTFOUND"
}
badan fungsi:
function feedbacks(data)
{
let email = createEmail(data);
let transport = nodemailer.createTransport({
host: 'smtp.yandex.ru',
port: 465,
secure: true,
// tried this one, but without success too
//tls:{ secureProtocol: "TLSv1_method" },
auth: {
user: 'xxxx@xxxx',
pass: 'xxxx'
}
});
return new Promise((resolve, reject) => {
transport.sendMail(email, err => {
if (err == null) {
resolve(true);
} else {
reject(new functions.https.HttpsError('internal', 'failed', err))
}
});
});
}
Tampaknya fungsi yang diterapkan tidak dapat mengakses server smtp karena beberapa batasan firebase saya tidak tahu.
EDIT:
saya menguji fungsi yang diterapkan dengan smtp gmail dan kredensial gmail saya yang juga saya gunakan di firebase dan berhasil.
Dokumen mengatakan, bahwa saya BISA menggunakan smtp khusus sementara portnya bukan 25.
Jika seseorang dapat menjelaskannya, saya akan sangat menghargainya.