Mailjet adalah layanan email global pihak ketiga yang menawarkan paket gratis kepada pengguna Compute Engine dengan 6.000 email setiap bulan. Selain itu, Mailjet juga menawarkan:
- API, antarmuka pengguna, dan relai SMTP untuk mengirim email transaksional dan pemasaran.
- Kepatuhan terhadap privasi data di Eropa.
- Fitur email dan pengiriman, seperti setelan prioritas yang dapat disesuaikan dan pengelolaan throttle otomatis.
- Library resource API di Go, PHP, Nodejs, Java, Python, dan Ruby untuk mengelola sub-akun, autentikasi, kontak, kampanye, payload kustom, statistik, peristiwa real time, dan penguraian melalui Event API.
- Framework MJML terintegrasi untuk membuat template email HTML yang responsif.
- Dukungan follow-the-sun 24/7 dalam lebih dari 4 bahasa.
- Kemampuan untuk mengirim pesan email dari domain selain
gmail.com
.
Dokumen ini menjelaskan cara mengonfigurasi instance VM Anda untuk mengirim email melalui Mailjet menggunakan metode berikut:
- Melalui relay
SMTP
dengan:
- Postfix
- Nodemailer di Node.js
- Langsung melalui API Mailjet menggunakan Java
Untuk dokumentasi lengkap solusi email lainnya, termasuk contoh integrasi dengan server SMTP, library, dan framework yang paling umum, lihat dokumentasi Mailjet.
Sebelum memulai
Buat akun Mailjet baru di halaman partner Google* Mailjet. Saat mendaftar, masukkan domain dan alamat email yang ingin Anda gunakan untuk mengirim pesan email.
Pastikan alamat email yang ingin Anda gunakan untuk mengirim email telah divalidasi.
Siapkan aturan firewall untuk mengizinkan traffic TCP di port 2525.
* Google menerima kompensasi untuk pelanggan yang mendaftar ke akun tidak gratis.
Mengonfigurasi Mailjet sebagai relai SMTP
Dengan mengonfigurasi Mailjet sebagai relai email, Anda dapat meneruskan pesan email ke Mailjet untuk pengiriman jarak jauh.
Menggunakan Postfix
Hubungkan ke VM Anda menggunakan SSH, sehingga mengganti
instance-name
dengan nama instance tempat Anda ingin mengirim pesan email:gcloud compute ssh instance-name
Di VM, instal Mail Transport Agent Postfix. Saat diminta, setujui pilihan default untuk nama domain, tetapi pilih konfigurasi
Local Only
.Debian
sudo apt update && sudo apt -y install postfix libsasl2-modules
CentOS
sudo yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Ubah opsi konfigurasi Postfix. Opsi konfigurasi postfix ditetapkan dalam file
main.cf
. Buka file dengan editor teks pilihan Anda:sudo vi /etc/postfix/main.cf
Perbarui file:
Jadikan baris berikut sebagai komentar:
# default_transport = error # relay_transport = error
Tambahkan baris berikut ke bagian akhir file:
relayhost = in-v3.mailjet.com:2525 smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
Baris ini menerapkan dukungan SSL/TLS dan mengonfigurasi autentikasi SMTP untuk permintaan ini. Modul akses sederhana dan lapisan keamanan (SASL) menangani autentikasi dalam konfigurasi Postfix.
Simpan perubahan Anda dan tutup file tersebut.
Buat peta sandi SASL dengan editor teks pilihan Anda:
sudo vi /etc/postfix/sasl_passwd
Pada file
sasl_passwd
, tambahkan baris berikut guna memberikan kredensial untuk Mailjet:in-v3.mailjet.com:2525 YOUR_API_KEY:YOUR_SECRET_KEY
Gunakan utilitas
postmap
untuk menghasilkan file.db
:sudo postmap /etc/postfix/sasl_passwd sudo ls -l /etc/postfix/sasl_passwd*
Anda akan menerima respons berikut:
-rw------- 1 root root 68 Jun 1 10:50 /etc/postfix/sasl_passwd -rw------- 1 root root 12288 Jun 1 10:51 /etc/postfix/sasl_passwd.db
Selanjutnya, hapus file yang berisi kredensial Anda karena sudah tidak diperlukan lagi:
sudo rm /etc/postfix/sasl_passwd
Tetapkan izin di file
.db
Anda:sudo chmod 600 /etc/postfix/sasl_passwd.db sudo ls -la /etc/postfix/sasl_passwd.db
Terakhir, muat ulang konfigurasi Anda untuk memuat parameter yang diubah:
Debian
sudo /etc/init.d/postfix restart
CentOS
sudo postfix reload
Uji konfigurasi Anda. Instal paket
mailx
ataumailutils
dan uji konfigurasi Anda.Debian
sudo apt -y install mailutils
CentOS
sudo yum install mailx -y
Kirim pesan uji coba:
echo 'Test passed.' | mail -s 'Test-Email' -aFrom:from-email destination-email
Ganti kode berikut:
from-email
: Alamat email yang telah divalidasi.destination-email
: Alamat tujuan untuk mengirim pesan email.
Buka log sistem Anda untuk melihat baris status yang berisi
status
dan kode respons server yang berhasil(250)
:Debian
sudo tail -n 5 /var/log/syslog
CentOS
sudo tail -n 5 /var/log/maillog
Jika Anda mengalami masalah saat menyiapkan Postfix dengan Mailjet, lihat petunjuk penyiapan Postfix Mailjet.
Menggunakan Nodemailer
Petunjuk berikut menjelaskan cara menggunakan Mailjet dengan Node.js di Debian Wheezy.
-
Hubungkan ke instance menggunakan SSH:
gcloud compute ssh instance-name
-
Perbarui repositori paket Anda:
user@test-wheezy:~# sudo apt update
-
Instal dependensi Node.js:
user@test-wheezy:~# sudo apt -y install git-core curl build-essential openssl libssl-dev
-
Clone repo Node.js dari github:
user@test-wheezy:~# git clone https://github.com/nodejs/node
-
Ganti direktori ke hierarki sumber Node.js:
user@test-wheezy:~# cd node
-
Konfigurasikan software node untuk OS dan virtual machine ini:
user@test-wheezy:~# ./configure
-
Bangun Node.js, npm, dan objek terkait:
user@test-wheezy:~# sudo make
Proses ini dapat memerlukan waktu beberapa menit.
-
Instal Node.js, npm, dan software lainnya di lokasi default:
user@test-wheezy:~# sudo make install
-
Instal paket mailer:
user@test-wheezy:~# npm install nodemailer nodemailer-smtp-transport
-
Di direktori
node
, buat file baru bernamasendmail.js
yang berisi JavaScript berikut: -
Jalankan program untuk mengirim pesan email melalui Mailjet:
user@test-wheezy:~# node sendmail.js
- Hubungkan ke instance menggunakan SSH:
gcloud compute ssh instance-name
-
Update repositori paket:
user@test-centos:~# sudo yum update -y
-
Instal dependensi Node.js:
user@test-centos:~# sudo yum install git-core curl openssl openssl-dev -y ... user@test-centos:~# sudo yum groupinstall "Development Tools" -y ...
-
Clone repositori Node.js dari github:
user@test-centos:~# git clone https://github.com/nodejs/node
-
Ganti direktori ke hierarki sumber Node.js:
user@test-centos:~# cd node
-
Konfigurasikan software node untuk OS dan virtual machine ini:
user@test-centos:~# ./configure
-
Bangun Node.js, npm, dan objek terkait:
user@test-centos:~# sudo make
Proses ini dapat memerlukan waktu beberapa menit.
-
Instal Node.js, npm, dan software lainnya di lokasi default:
user@test-centos:~# sudo make install
-
Instal paket mailer:
user@test-centos:~# npm install npm install nodemailer nodemailer-smtp-transport
-
Di direktori
node
, buat file baru bernamasendmail.js
yang berisi JavaScript berikut: -
Jalankan program untuk mengirim pesan email melalui Mailjet:
user@test-centos:~# node sendmail.js
Mengirim email melalui API Mailjet dengan Java
Untuk contoh penggunaan Mailjet API lainnya, lihat dokumentasi Mailjet resmi.
-
Hubungkan ke instance menggunakan SSH:
gcloud compute ssh instance-name
-
Perbarui repositori paket Anda dan instal paket yang diperlukan:
user@test-instance:~# sudo apt update && sudo apt install git-core openjdk-8-jdk maven
-
Clone repo Java dari GitHub:
user@test-instance:~# git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
-
Buka kode sumber utama untuk menemukan contoh, yang terletak di:
/root/java-docs-samples/compute/mailjet/src/main/java/com/example/compute/mailjet
-
Konfigurasikan setelan Mailjet Anda. Lihat dokumentasi
Autentikasi Mailjet tentang cara
mengganti
variabel berikut:
your-mailjet-api-key
: Kunci API untuk akun Mailjet Anda.your-mailjet-secret-key
: Kunci rahasia yang sesuai untuk akun Mailjet Anda.
-
Dari direktori
mailjet
, gunakan Maven untuk mengemas class sebagai file JAR:user@test-instance:~# mvn clean package
-
Pastikan Anda menggunakan OpenJDK 8:
user@test-instance:~# sudo update-alternatives --config java
-
Untuk mengirim email: dari direktori target, jalankan file JAR dengan
alamat email penerima dan pengirim sebagai argumen:
user@test-instance:~# java -jar compute-mailjet-1.0-SNAPSHOT-jar-with-dependencies.jar recipient-email sender-email
- Hubungkan ke instance menggunakan SSH:
gcloud compute ssh instance-name
-
Perbarui repositori paket Anda dan instal paket yang diperlukan:
user@test-centos:~# sudo yum update && sudo yum install git-core openjdk-8-jdk maven
-
Clone repo Java dari GitHub:
user@test-centos:~# git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
-
Buka kode sumber utama untuk menemukan contoh, yang terletak di:
/root/java-docs-samples/compute/mailjet/src/main/java/com/example/compute/mailjet
-
Konfigurasikan setelan Mailjet Anda. Untuk informasi tentang cara
mengganti variabel berikut, lihat dokumentasi
Autentikasi Mailjet:
your-mailjet-api-key
: Kunci API untuk akun Mailjet Anda.your-mailjet-secret-key
: Kunci rahasia yang sesuai untuk akun Mailjet Anda.
-
Dari direktori
mailjet
, gunakan Maven untuk mengemas class sebagai file JAR:user@test-centos:~# mvn clean package
-
Pastikan Anda menggunakan OpenJDK 8:
user@test-centos:~# sudo alternatives --config java
-
Untuk mengirim email, dari direktori target, jalankan file JAR dengan
alamat email penerima dan pengirim sebagai argumen:
user@test-centos:~# java -jar compute-mailjet-1.0-SNAPSHOT-jar-with-dependencies.jar recipient-email sender-email
Setelan SMTP Mailjet
Berikut adalah referensi cepat untuk setelan SMTP khusus Mailjet yang digunakan untuk mengonfigurasi klien:
- Host: in-v3.mailjet.com
- Port: 2525
Langkah berikutnya
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.