Nodemailer Module

Kustiawanto Halim
Auto Personalia
Published in
2 min readMay 25, 2017

Dalam pembuatan aplikasi, kami membutuhkan akses untuk mengirimkan email dalam pembuatan employee baru dalam rangka pembuatan password. Oleh karena itu kami harus mencari module ataupun library yang sesuai agar bisa mengirimkan email. Bertemulah kami dengan Nodemailer.

Nodemailer adalah module untuk Node.js yang memungkinkan kita dengan mudahnya mengirimkan email. Nodemailer berjalan pada Node.js versi 6. beberapa fitur yang dimiliki oleh Nodemailer diantaranya adalah:

  • Module dengan zero dependencie
  • Berfokus pada keamanan, bebas dari RCE vulnerabilities
  • Dukungan untuk unicode characters seperti emoji
  • Dukungan terhadap windows.
  • Menggunakan HTML content atau plain text.
  • Bisa menambahkan lampiran kedalam pesan.
  • Bisa menambahkan lampiran gambar tempel pada bagian isi dengan menggunakan HTML
  • Pengiriman email aman menggunakan TLS/STARTTLS
  • dan masih banyak lagi. Selengkapnya baca disini.

Secara sederhana, untuk menggunakan Nodemailer, ada beberapa hal yang harus dilakukan diantaranya adalah:

  1. Membuat sebuah Nodemailer transporter dengan menggunakan protokol SMTP atau protokol lainnya seperti berikut.
  2. Membuat message options (keterangan mengenai pesan dikirim oleh siapa, subject, dll).
  3. Kirim pesan dengan memanggil method sendMail() dari transporter yang telah dibuat sebelumnya.

Berikut adalah contoh yang kami gunakan:

let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'yourawesomeemail@gmail.com',
pass: 'putyourpassword'
}
});
let mailOptions = {
from: '"Autopersonalia" <autopersonaliapplb3@gmail.com>', // sender address
subject: 'Selamat bergabung di Autopersonalia', // Subject line
html: 'Silahkan akses link berikut'
};
module.exports = {
send: function(mailOptions) {
// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log("gabisa login email nih");
console.log(error)
return error;
}
console.log('Message %s sent: %s', info.messageId, info.response);
});
}
}

Transporter adalah pembuatan object transporter yang berisi credential account email yang akan mengirimkan email. Pada bagian ini kita bisa memilih apabila ingin menggunakan email provider lainnya, seperti yahoo mail, google mail, hotmail, dll.

Pada bagian mailOptions akan berisi informasi mengenai isian email yang akan dikirim seperti pengirim, tujuan, subject, hingga isi.

Untuk melakukan eksplorasi lebih lanjut, silahkan akses link berikut.

--

--

Kustiawanto Halim
Auto Personalia

Mobile Apps Developer (Android, iOS, Flutter) | IoT enthusiast