gpt4 book ai didi

node.js - 由于 EAI_AGAIN,电子邮件未在 Docker 容器内使用 Nodemailer 发送

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:01 24 4
gpt4 key购买 nike

我已经在 Docker 容器中设置了 Nodemailer,但我无法发送电子邮件。我在 docker 之外运行了相同的代码来测试它是否有效以及是否发送电子邮件。所以这一定与我的 docker 容器设置有关。我用于开发的 docker-compose 和 docker-file 并不花哨,只是必需品,而且我使用 docker-toolbox 因为我没有 Windows 10 pro。

我发现了类似的问题,如 Nodemailer not sending mails after deploying it on docker container该文件已经存在一年多了,并且不包含示例代码或答案。另外,发现https://stackoverflow.com/a/25270794/1148107 ,并尝试在打开和关闭 TLS 的情况下将端口更改为 465,但仍然无法发送邮件。

错误

抛出了 EAI_AGAIN 错误,我查了一下,这是一个 DNS 查找超时问题,因此可能是网络连接错误或代理相关错误,但我不是 docker(或 devops)专家,所以我在弄清楚如何解决它时遇到了问题。谁能解释一下如何让 Nodemailer 在 Docker 容器中工作?

Error: getaddrinfo EAI_AGAIN smtp.mailtrap.io:2525
at Object._errnoException (util.js:1021:11)
at errnoException (dns.js:58:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26)
code: 'ECONNECTION',
errno: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'smtp.mailtrap.io',
host: 'smtp.mailtrap.io',
port: 2525,
command: 'CONN'

Docker Compose

services:
server:
container_name: server
build:
context: .
dockerfile: .docker/node.${APP_ENV}.dockerfile
ports:
- "3000:3000"
volumes:
- ${NODE_SRC_PATH}:${NODE_CONTAINER_PATH}
working_dir: ${NODE_WORKING_DIR}
env_file:
- ./.docker/env/node.${APP_ENV}.env
depends_on:
- db
networks:
- app-network

// ... for brevity removed mysql, adminer, and network services

Docker 文件

# Pull in image
FROM node:latest

# Expose the default Express port
EXPOSE 3000

# Main entry point
ENTRYPOINT ["npm", "run", "start"]

最佳答案

请尝试重新启动 Docker

$ systemctl restart docker

关于node.js - 由于 EAI_AGAIN,电子邮件未在 Docker 容器内使用 Nodemailer 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46983945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com