[英]Does Nodemailer SMTP work within azure functions?
我正在嘗試在 azure function 應用程序中運行 nodemailer 服務,但它不斷拋出 AUTH 錯誤。 下面是我的代碼:
require("dotenv").config();
const nodemailer = require("nodemailer");
const getMailIDs = require("./getMailIDs");
module.exports = async function mailSender() {
let transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 465,
secure: true,
service: "gmail",
auth: {
user: process.env.EMAIL,
pass: process.env.PASSWORD,
},
});
let mailIDs = await getMailIDs();
for (i = 0; i < mailIDs.length; i++) {
await transporter.sendMail({
from: "abc@gmail.com",
to: `${mailIDs[i]}`,
subject: "Test Mail",
text: {
path: `emailBody.txt`,
},
});
}
};
這是拋出的錯誤:
Error: Missing credentials for "PLAIN"
at SMTPConnection._formatError (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:784:19)
at SMTPConnection.login (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:438:38)
at C:\Projects\azure\node_modules\nodemailer\lib\smtp-transport\index.js:271:32
at SMTPConnection.<anonymous> (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:209:17)
at Object.onceWrapper (events.js:299:28)
at SMTPConnection.emit (events.js:210:5)
at SMTPConnection._actionEHLO (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:1319:14)
at SMTPConnection._processResponse (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:947:20)
at SMTPConnection._onData (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:749:14)
at TLSSocket.SMTPConnection._onSocketData (C:\Projects\azure\node_modules\nodemailer\lib\smtp-connection\index.js:189:44) {
code: 'EAUTH',
command: 'API'
}
它在我在本地單獨運行此腳本文件時執行。 但是當我從 azure function 應用程序的 index.js 文件調用它時會引發錯誤。 我不確定 azure function 應用程序是否必須使用 google api/OAUTH。
code: 'EAUTH', command: 'API'
發現問題:
auth: { user: process.env.EMAIL, pass: process.env.PASSWORD, },
使用的身份驗證變量是環境變量。 這在本地運行時有效,因為您必須在本地服務器上擁有一個包含這些變量的 .env 文件。
添加如下值:
Name - EMAIL, value - <youremail> Name - PASSORD, value - <password>
這應該可以解決身份驗證問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.