Nodemailer

Envois d’email via un compte gmail en node.js. Todo: implémenter Auth2 pour une utilisation en mode « secure ».

  • Serveur de messagerie node.js avec nodemailer
    • router.post('/send', (req, res, next) => {
      console.log('Body receive in post:', req.body);
      var mail = {
      from: req.body.from,
      to: req.body.to, //Change to email address that you want to receive messages on
      subject: req.body.subject,
      cc: req.body.cc,
      bcc: req.body.bcc,
      html: req.body.html,
      attachments: []
      }
      req.body.attachments.forEach(value => {
      mail.attachments.push(value);
      })
      console.log('mail', mail);
      transporter.sendMail(mail, (err, data) => {
      if (err) {
      console.log('retour error', err);
      res.json({
      msg: 'fail' + err
      })
      } else {
      console.log('retour success');
      res.json({
      msg: 'success'
      })
      }
      })
      })
  • Côté Frontend un simple post
    • sendEmail(mailMessage: MailMessage): void{
      this.instance.post('http://localhost:3002/send',{
      from: mailMessage.from,
      to: mailMessage.to,
      html: mailMessage.message,
      subject: mailMessage.objet,
      cc: mailMessage.cc,
      bcc: mailMessage.cci,
      attachments: mailMessage.attachments
      })
      .then(value => {
      console.log('retour', value);
      })
      .catch(error => {
      console.log('error', error);
      });
      }

Et voilà: