Dalam tutorial mengirim email node js ini, Anda akan belajar bagaimana Anda dapat mengirim email menggunakan SMTP Gmail di node js. Di sini Anda akan belajar langkah demi langkah, bagaimana Anda dapat mengirim email menggunakan Gmail SMTP di node js
Mengirim email melalui Node js itu mudah. Hari ini kita akan membahas mengirim email melalui node js. Kami akan menggunakan nodemailermodule dan Gmail SMTP untuk mengirim email. Kami juga akan belajar cara mengirim email dengan lampiran. Jadi mari kita mulai dengan node js mengirim email dengan tutorial lampiran
Pertama Instal Nodemailer
npm install nodemailer
Selanjutnya, sertakan modul nodemailer dalam aplikasi Anda
var nodemailer = require('nodemailer');
Konfigurasikan SMTP Gmail dengan Nodemailer
Nodemailer membutuhkan layanan transportasi yang dapat digunakan untuk mengirim email. Gunakan nama pengguna dan kata sandi dari penyedia email yang Anda pilih untuk mengirim email. Tutorial ini akan menunjukkan cara menggunakan akun Gmail Anda untuk mengirim email:
var mail = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-gmail-password'
}
});
Sebelum mengirim email menggunakan Gmail, Anda harus mengizinkan aplikasi tidak aman untuk mengakses Gmail. Anda dapat melakukannya dengan membuka pengaturan Gmail di sini.
Setelah aplikasi yang kurang aman diaktifkan, sekarang nodemailer dapat menggunakan Gmail Anda untuk mengirim email.
Mengirim Email dengan SMTP Gmail
Sekarang Anda siap mengirim email dari server Anda.
var mailOptions = {
from: 'youremail@gmail.com',
to: 'myfriend@yahoo.com',
subject: 'Sending Email via Node.js',
text: 'That was easy!'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
Kirim Beberapa Penerima Pada Saat Yang Sama
Mari kita lihat, bagaimana Anda dapat mengirim email ke beberapa pengguna secara bersamaan
var mailOptions = {
from: 'youremail@gmail.com',
to: 'your-first-email@gmail.com, your-second-email@gmail.com',
subject: 'Sending Email using Node.js',
text: 'That was easy!'
}
Kirim HTML Sederhana
Untuk mengirim teks berformat HTML di email Anda, gunakan properti “html”
var mailOptions = {
from: 'youremail@gmail.com',
to: 'your-first-email@gmail.com, your-second-email@gmail.com',
subject: 'Sending Email using Node.js',
html: '# Welcome
That was easy!
'
}
Kirim Lampiran
lampiran pilihan dalam objek pesan yang berisi larik objek lampiran.
var mailOptions = {
from: 'sender@w3path.com',
to: 'your-email@gmail.com',
subject: 'Sending Email using Node.js',
text: 'That was easy!',
attachments: [{ // utf-8 string as an attachment
filename: 'text1.txt',
content: 'hello world!'
},
{ // binary buffer as an attachment
filename: 'text2.txt',
content: new Buffer('hello world!','utf-8')
},
{ // file on disk as an attachment
filename: 'text3.txt',
path: '/path/to/file.txt' // stream this file
},
{ // filename and content type is derived from path
path: '/path/to/file.txt'
},
{ // stream as an attachment
filename: 'text4.txt',
content: fs.createReadStream('file.txt')
},
{ // define custom content type for the attachment
filename: 'text.bin',
content: 'hello world!',
contentType: 'text/plain'
},
{ // use URL as an attachment
filename: 'license.txt',
path: 'https://raw.github.com/nodemailer/nodemailer/master/LICENSE'
},
{ // encoded string as an attachment
filename: 'text1.txt',
content: 'aGVsbG8gd29ybGQh',
encoding: 'base64'
},
{ // data uri as an attachment
path: 'data:text/plain;base64,aGVsbG8gd29ybGQ='
}
]
}
Setelah perubahan di atas app.js file kita akan terlihat seperti ini
var nodemailer = require('nodemailer');
var mail = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-gmail-password'
}
});
var mailOptions = {
from: 'youremail@gmail.com',
to: 'your-first-email@gmail.com, your-second-email@gmail.com',
subject: 'Sending Email using Node.js',
html: '# Welcome That was easy!,
attachments: [{
filename: 'text1.txt',
content: 'hello world!'
}
}
mail.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});







