Eu configurei o Nodemailer em um contêiner docker, masEu não consegui receber e-mails para serem enviados. Eu executei o mesmo código fora da janela de encaixe para testar se ele funcionava e envia e-mails. Portanto, deve ser algo relacionado à configuração do contêiner do Docker. docker-file Eu estou usando para desenvolvimento não é extravagante, apenas o essencial, e eu estou usando o docker-toolbox desde que eu não tenho o Windows 10 pro.
Eu encontrei perguntas semelhantes como Nodemailer não envia e-mails após implantá-lo no contêiner docker que tem mais de um ano e não contém código ou respostas de exemplo. Além disso, encontrado https://stackoverflow.com/a/25270794/1148107, e tentei mudar a porta para 465
com o TLS ligado e desligado, mas ainda não envia e-mail.
Erro
A EAI_AGAIN
erro é lançado, que eu procurei e é um DNSproblema de tempo limite de pesquisa, portanto, pode ser um erro de conectividade de rede ou um erro relacionado a proxy, mas eu não sou um guru da janela de encaixe (ou devops), por isso estou tendo problemas para descobrir como resolvê-lo. Alguém pode explicar como obter o Nodemailer para trabalhar em um contêiner 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
Arquivo do Docker
# Pull in image
FROM node:latest
# Expose the default Express port
EXPOSE 3000
# Main entry point
ENTRYPOINT ["npm", "run", "start"]
Respostas:
0 para resposta № 1Por favor, tente reiniciar o Docker
$ systemctl restart docker