Как настроить шаблон электронной почты узла для использования SendGrid в качестве транспорта - PullRequest
0 голосов
/ 06 мая 2020

Чего я хочу достичь

Я хочу отправить электронное письмо с использованием шаблонов электронной почты и настроить транспорт для использования sendgrid в My Node / Express backend

Однако, когда я отправляю свое электронное письмо, я не получаю ошибок в консоли, но я не получаю никаких писем на свой почтовый клиент. и я дополнительно удостоверился, что вся моя информация с ключами API и адресами электронной почты верна.

Код


const express = require('express');
const nodemailer = require("nodemailer")
const sendgridTransport = require("nodemailer-sendgrid-transport")
const router = express.Router();


let transporter = nodemailer.createTransport(  
    sendgridTransport({
      auth: {
        api_key:
          process.env.SENDGRID_API_KEY
      }
    })
  );

  const Email = require('email-templates');
  const path  = require('path')

  router.post('/email', (req,res) => {
    const email = new Email({
        message: {
          from: 'info@4loop.online'
        },
        transport: {
          jsonTransport: transporter
        }
      });

      email
        .send({
          template: path.join(__dirname, "../templates", "contact"),
          message: {
            to: 'info@4loop.online'
          },
          locals: {
            name: 'Elon'
          }
        })
        .then(console.log)
        .catch(console.error);
  })


module.exports = router

ссылка на документы шаблона электронной почты https://www.npmjs.com/package/email-templates

Ответ

{
  envelope: { from: 'info@4loop.online', to: [ 'info@4loop.online' ] },
  messageId: '<1082af04-68ec-2337-1fa0-926aca91b9ce@4loop.online>',
  message: '{"to":[{"address":"info@4loop.online","name":""}],"from":{"address":"info@4loop.online","name":""},"attachments":[],"subject":"Hi Elon, welcome to Mars","html":"\\n<p>Hi Elon,</p>\\n<p>Welcome to Mars, the red planet.</p>","text":"<hey>There.</hey>","headers":{},"messageId":"<1082af04-68ec-2337-1fa0-926aca91b9ce@4loop.online>"}',
  originalMessage: {
    to: 'info@4loop.online',
    from: 'info@4loop.online',
    attachments: [],
    subject: 'Hi Elon, welcome to Mars',
    html: '\n<p>Hi Elon,</p>\n<p>Welcome to Mars, the red planet.</p>',
    text: '<hey>There.</hey>'
  }
}
{
  envelope: { from: 'info@4loop.online', to: [ 'info@4loop.online' ] },
  messageId: '<0e80bb1f-01ae-d994-ea06-549e34a0eed0@4loop.online>',
  message: '{"to":[{"address":"info@4loop.online","name":""}],"from":{"address":"info@4loop.online","name":""},"attachments":[],"subject":"Hi Elon, welcome to Mars","html":"\\n<p>Hi Elon,</p>\\n<p>Welcome to Mars, the red planet.</p>","text":"<hey>There.</hey>","headers":{},"messageId":"<0e80bb1f-01ae-d994-ea06-549e34a0eed0@4loop.online>"}',

1 Ответ

0 голосов
/ 06 мая 2020

Ответ

Ответ был действительно прост. все, что вам нужно сделать, это заменить на это конфигурацию транспорта.

 const email = new Email({
        message: {
          from: 'info@4loop.online'
        },
        send: true,
        transport:transporter
      });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...