Skip to main content

Part 1 - Nodemailer dengan Gmail OAuth2

· Baca dalam 3 menit
Irul
mail

Nodemailer adalah modul JavaScript yang bisa kita manfaatkan untuk mengirimkan pesan email dengan mengkonfigurasi SMTP dari email server yang kita miliki.

Tapi sayangnya, seringkali dalam masa development kita hanya fokus untuk melihat bagaimana email yang kita kirim dari server diterima oleh pengguna, jadi kita belum memiliki mail server yang mungkin harganya tidak murah.

Beruntungnya Gmail menyediakan opsi untuk mengirimkan email melalui server mereka secara programmatically, kita bisa memanfaatkannya untuk sementara waktu. Karena dihilangkannya opsi "Less secure apps" pada akun google, kita bisa memanfaatkan cara lain, yakni dengan menggunakan OAuth2.

Pada tulisan bagian pertama ini, kita akan melakukan konfigurasi project pada Google Cloud Console, berikut cara konfigurasinya:

Masuk ke Google Cloud Console dan buatlah project baru

step 1

Klik ikon hamburger menu, pilih API Library

step 2-1

Masukkan Gmail pada kolom pencarian

step 2-2

Pilih Gmail API

step 2-3

Tekan Enable

step 2-4

Selanjutnya, masuk ke menu APIs & Services pilih OAuth consent screen

step 2

Pilih External dan tekan Create

step 3

Masukkan App name, bebas. Disini saya masukkan Nodemailer, dan pilih User support email dari dropdown yang disediakan

step 4

Scroll kebawah sedikit disana akan ada kolom untuk email, isi dengan email anda dan tekan Save and Continue

step 5

Selanjutnya, Tekan Add or Remove Scope

step 6

Pada kolom filter masukkan Gmail dan pilih Gmail API

step 6-1

Lalu centang Gmail API dan tekan Update

step 6-2

Jika pada section Your restricted scope sudah ada Gmail Scope, tekan Save and Continue

step 6-3

Tekan add user pada section Test users

step 6-4

Masukkan email dari akun google yang sedang dipakai, lalu tekan Save and Continue

step 6-5

Kembali ke menu, pilih Credentials

step 7

Klik Create Credentials dan pilih OAuth Client ID

step 8

Pilih Web Application untuk Application Type dan Name diisi bebas, disini saya masukkan Nodemailer

step 9

Pada section Autorized redirect URIs masukkan:

https://developers.google.com/oauthplayground
step 10

Simpan Client ID dan Client Secret untuk dipakai selanjutnya di OAuth Playground

step 11

Masuk ke OAuth 2.0 Playground dan pilih ikon gear pada samping kanan atas, centang Use your own OAuth credentials dan masukkan Client ID dan Client Secret yang sebelumnya kita dapatkan, lalu klik Close.

step 12

Pada Step 1 bagian kanan Playground, cari Gmail API v1 dan centang https://mail.google.com/, lalu tekan Authorize APIs

step 13

Kita akan dialihkan ke halaman Authorization, pilih akun sedang kita pakai

step 14

Akan muncul alert seperti berikut, kita bisa menekan Continue saja

step 15

Lalu tekan Continue lagi

step 16

Nantinya, kita akan dikembalikan ke halaman playground Step 2 dengan Authorization Code yang sudah terisi, Tekan Exchange authorization code for tokens

step 17

Kolom refresh token akan terisi dan kita bisa simpan, karena ini akan kita gunakan di nodemailer pada tulisan bagian berikutnya.

step 18

Wrap up:

Jadi, pada bagian pertama ini kita sudah mendapatkan OAuth Client ID, OAuth Client Secret dan juga Refresh Token yang bisa kita gunakan pada nodemailer, untuk selanjutnya kita bisa lihat di bagian kedua

Part 2 - Nodemailer dengan Gmail OAuth2
← Baca tulisan lain