Почему сообщения отправляются через nodemailer, но не принимаются?

Рейтинг: 1Ответов: 1Опубликовано: 20.02.2023

Всем привет!

Я создаю сервис, в котором необходимо верифицировать почту.

Сервис написан на Nest.js, для отправки писем использую nodemailer, как SMTP-провайдера - SendGrid.

app.module.ts:

imports: [
...,
    MailerModule.forRoot({
      transport: {
        host: process.env.SMTP_HOST, //smtp.sendgrid.net
        port: process.env.SMTP_PORT, //465 or tried 25567
        // secure: process.env.SMTP_SECURE, //tried false
        // ignoreTLS: process.env.TLS, // tired true
        auth: {
          user: process.env.SMTP_USER,
          pass: process.env.SMTP_PASS,
        },
      },
    }),
  ],

kyc.service.ts:

constructor(
    private mailerService: MailerService,
  ) {}

async sendVerificationEmail(email: string) {
    const { key } = await this.createInvite(email);
    await this.mailerService
      .sendMail({
        to: email,
        from: process.env.SMTP_FROM,
        subject: 'VERIFICATION',
        // template: 'verification',
        // context: { key },
        html: '<div>bla-bla</div>',
      })
      .then((success) => {
        console.log('success');
        console.log(success);
      })
      .catch((err) => {
        console.log('err');
        console.log(err);
      });
    return 'success';
  }

В консоли появляется success т.е. письмо отправляется, но на почте его нет.

console:

success
{
  accepted: [ 'to@organization.dev' ],
  rejected: [],
  ehlo: [
    '8BITMIME',
    'PIPELINING',
    'SIZE 31457280',
    'AUTH PLAIN LOGIN',
    'AUTH=PLAIN LOGIN'
  ],
  envelopeTime: 187,
  messageTime: 167,
  messageSize: 302,
  response: '250 Ok: queued as koCKz6B8QRSbqNvBHHH8hg',
  envelope: {
    from: 'from@gmail.com',
    to: [ 'to@organization.dev' ]
  },
  messageId: '<9603376e-0493-c330-c87d-e0fedfb1f490@gmail.com>'
}

Ответы

▲ 0Принят

Для настройки на smtp gmail необходимо просто сделать вот такие настройки в гугле: https://miracleio.me/snippets/use-gmail-with-nodemailer/