Topic: NodeMailer - AsaMarjew/GameBuddy GitHub Wiki

Auteur: Asa Marjew

Algemeen

Nodemailer is een module van Node.js wat het verzenden van e-mails vanuit de server mogelijk maakt. Op deze manier kunnen gebruikers of andere betrokkenen een bericht krijgen wanneer er bijvoorbeeld iets gewijzigd is in hun account.

Email opties

  • from - Hier komt de afzenders mail adres, dus van waar de email verzonden wordt.
  • to - De email-adressen waarnaar de mail verzonden gaat worden, worden gescheiden door middel van een komma. Deze worden weergegeven in het To: feld van de mail.
  • cc - Email-adressen die in de Cc feld komen van de mail, worden gescheiden door middel van een komma.
  • bcc - Email-adressen die in de Bcc feld komen van de mail, worden gescheiden door middel van een komma.
  • subject - Het onderwerp van de mail.
  • text - De tekst die meeverzonden wordt in de verzonden mail. Dit is echt alleen plaintext en er zijn enkele dingen mogelijk.
  • html - Een HTML versie van het bericht. Hier kunnen bijvoorbeeld embedded afbeeldingen in meegstuurd worden.
  • attachments - Email bijlages, hier kunnen bijlages zoals documenten en afbeeldingen meegestuurd kunnen worden.

Gebruik

In dit project zal het toegepast worden wanneer er een verandering heeft plaats gevonden binnen een account, denk aan wijzigingen of verwijdering. De gebruiker krijgt op dat moment een e-mail binnen met het desbetreffende onderwerp. (Rachel, 2021; Reinman, z.d.; W3Schools, z.d.).

Voorbeeld code

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '[email protected]',
    pass: 'yourpassword'
  }
});

var mailOptions = {
  from: '[email protected]',
  to: '[email protected]',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

Template

Bij het gebruik van Nodemailer is de optie om templates te gebruiken toegankelijk. Een template is een HTML code die meegestuurd wordt via de transporter. Op deze manier kunnen emails mooier weergegeven worden, zo kan bijvoorbeeld een afbeelding embedded worden in de plaintext.

Alternatieve

Er zijn verschillende alternative beschikbaar die hetzelfde doen als Nodemailer. Welke gebruikt wordt hangt af van de voorkeuren.

Mailgun

Mailgun wordt vaak gebruikt voor zakelijke doeleinde. Mailgun maakt namelijk gebruik van een API en hierdoor is het mogelijk om een groot aantal mails te versturen. (Mailgun, 2021).

Mailchimp

Voor commerciele doeleinde is mailchimp erg geschikt, het promoot namelijk enorm op zijn kracht om een mail in combinatie met een website op te zetten. Het gaat echt om de brand van een ondernemen te behouden in alle platformen. (Mailchimp, 2021).

Bronvermelding