Я пытаюсь настроить простой сервер узлов с mailhog и nodemailer / nodemailer-mailgun-transport в docker -компонентном контексте. В настоящее время у меня есть только сценарий машинописного текста в режиме просмотра, который пытается отправить одно электронное письмо. Пока что не повезло. Я довольно незнаком с SSL и SMTP и бегу в стены. Решение из этой ссылки github , похоже, не работает, если я что-то упустил. Я не могу избавиться от этих ошибок SSL.
Error: write EPROTO 140208717793088:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
docker -compose.yml
version: '3.4'
services:
emailer:
build: ./emailer
restart: always
command: 'npm run start:dev'
volumes:
- ./emailer/src:/usr/src/app/src
mailhog:
image: mailhog/mailhog
user: root
expose:
- 1025
- 8025
ports:
- 8025:8025
healthcheck:
test: echo | telnet 127.0.0.1 25
index.ts
import nodemailer from 'nodemailer';
import mg from 'nodemailer-mailgun-transport';
const auth = {
auth: {
api_key: 'key-1234123412341234',
protocol: 'http:'
},
host: 'mailhog',
port: 1025,
secure: false,
tls: {
rejectUnauthorized: false
}
}
const nodemailerMailgun = nodemailer.createTransport(mg(auth));
console.log('mailing...');
nodemailerMailgun.sendMail({
from: 'myemail@example.com',
to: 'recipient@domain.com', // An array if you have multiple recipients.
cc: 'second@domain.com',
bcc: 'secretagent@company.gov',
subject: 'Hey you, awesome!',
//You can use "html:" to send HTML email content. It's magic!
html: '<b>Wow Big powerful letters</b>',
}).then(console.log, console.log);