/ / Email nie jest wysyłany za pomocą Nodemailera w kontenerze Docker z powodu EAI_AGAIN - node.js, docker, docker-compose, nodemailer

Email nie został wysłany za pomocą Nodemailera w kontenerze Docker z powodu EAI_AGAIN - node.js, docker, docker-compose, nodemailer

Ustawiłem Nodemailera w kontenerze w doku, aleNie udało mi się wysłać e-maili do wysłania, uruchomiłem ten sam kod poza dockerem, aby sprawdzić, czy zadziałało i wysyła e-maile, więc musi to być związane z konfiguracją kontenera w doku. Plik dokera, którego używam do programowania, nie jest fantazyjny, tylko podstawowe rzeczy, a ja korzystam z przybornika doków, ponieważ nie mam systemu Windows 10 pro.

Znalazłem podobne pytania, jak Nodemailer nie wysyła wiadomości po wdrożeniu go na kontenerze dokowania ma ponad rok i nie zawiera przykładowego kodu ani odpowiedzi. Również https://stackoverflow.com/a/25270794/1148107i próbował zmienić port na 465 z włączonym i wyłączonym TLS, ale nadal nie wysyła wiadomości.

Błąd

Na EAI_AGAIN Wystąpił błąd, który sprawdziłem i jest DNSproblem z przekroczeniem limitu czasu, więc może to być błąd połączenia sieciowego lub błąd związany z serwerem proxy, ale nie jestem guru w docku (lub devporze), więc mam problemy z ustaleniem, jak go rozwiązać. Czy ktoś może wyjaśnić, jak zmusić Nodemailera do pracy w kontenerze 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

Plik Docker

# Pull in image
FROM node:latest

# Expose the default Express port
EXPOSE 3000

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

Odpowiedzi:

0 dla odpowiedzi № 1

Spróbuj ponownie uruchomić Docker

$ systemctl restart docker