Как избавиться от проблем с SSL, используя nodemailer и mailhog в docker -конструктивном контексте - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь настроить простой сервер узлов с 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);
...