【发布时间】:2020-08-29 10:55:07
【问题描述】:
我有一个 Node.js 应用程序使用 nodemailer 向 SMTP 服务器发送电子邮件。这运行良好。但是,如果我将相同的应用程序放在 docker 容器中,服务器会拒绝处理电子邮件,并以错误响应:
error: Error: Invalid login: 535 Incorrect authentication data
at SMTPConnection._formatError (/usr/src/app/node_modules/smtp-connection/lib/smtp-connection.js:528:15)
at SMTPConnection._actionAUTHComplete (/usr/src/app/node_modules/smtp-connection/lib/smtp-connection.js:1231:30)
at SMTPConnection.<anonymous> (/usr/src/app/node_modules/smtp-connection/lib/smtp-connection.js:319:22)
at SMTPConnection._processResponse (/usr/src/app/node_modules/smtp-connection/lib/smtp-connection.js:669:16)
at SMTPConnection._onData (/usr/src/app/node_modules/smtp-connection/lib/smtp-connection.js:493:10)
at TLSSocket.emit (events.js:310:20)
at addChunk (_stream_readable.js:286:12)
at readableAddChunk (_stream_readable.js:268:9)
at TLSSocket.Readable.push (_stream_readable.js:209:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:186:23)
有人知道,Docker 中的 nodemailer 是否需要对配置进行任何更改?
这不是凭据的问题。它是具有相同 nodemailer 配置和相同凭据的相同应用程序。唯一的区别是应用程序的运行位置(直接在服务器上或在 Docker 容器内)。
另外,如果我在 Docker 容器中运行 ping 命令,我可以 ping SMTP 服务器。因此,服务器是可访问的,但应用程序无法连接到它。
【问题讨论】:
-
尝试在
network_mode: host中运行您的容器,看看是否有帮助
标签: docker nodemailer