Mengirim email dengan Mailgun


Google Cloud bekerja sama dengan Mailgun untuk menyediakan layanan email yang memiliki API terprogram, retensi log, personalisasi email, analisis, dan validasi email.

Petunjuk berikut menunjukkan cara mengonfigurasi Mailgun sebagai relai email dengan Postfix.

Sebelum memulai

  1. Daftar dan buat akun Mailgun baru di Google Cloud Marketplace.

  2. Dapatkan kredensial Anda. Petunjuk ini mengharuskan Anda mengetahui nama pengguna, sandi, dan nama host SMTP Mailgun Anda. Dapatkan nama pengguna dan sandi dari panel kontrol Mailgun, di bagian Domains.

    Bergantung pada cara domain dikonfigurasi di Mailgun, nama host SMTP adalah smtp.mailgun.org atau smtp.eu.mailgun.org.

  3. Konfigurasi aturan firewall Anda untuk mengizinkan traffic keluar pada port TCP 2525.

Mengonfigurasi Mailgun sebagai relai email dengan Postfix

Mengonfigurasi Mailgun sebagai relai email memungkinkan agen transfer email Postfix meneruskan email yang ditujukan untuk pengiriman jarak jauh.

  1. Hubungkan ke instance menggunakan SSH.

    gcloud compute ssh [INSTANCE_NAME]
    

    dengan [INSTANCE_NAME] adalah nama instance VM tempat Anda ingin mengirim email.

  2. Jadilah superuser dan setel umask yang aman.

    user@test-instance:~$ sudo su -
    
    root@test-instance:~# umask 077
    
  3. Instal Agen Transportasi Email Postfix.

    Debian

    root@test-instance:~# apt update && apt -y install postfix libsasl2-modules
    

    CentOS

    root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
    

  4. Saat diminta, pilih konfigurasi Local Only dan setujui pilihan default untuk nama domain.

  5. Memodifikasi opsi konfigurasi Postfix. Opsi konfigurasi postfix ditetapkan dalam file main.cf. Buka file dengan editor teks pilihan Anda.

    root@test-instance:~# vi /etc/postfix/main.cf
    
  6. Jika ada, jadikan baris berikut sebagai komentar.

    # default_transport = error
    # relay_transport = error
    
  7. Tambahkan layanan SMTP Mailgun dengan menambahkan baris berikut ke bagian akhir file.

    relayhost = [smtp.mailgun.org]:2525
    
  8. Untuk menerapkan dukungan SSL/TLS dan mengonfigurasi autentikasi SMTP untuk permintaan ini, tambahkan baris berikut ke bagian akhir file. Modul akses sederhana dan lapisan keamanan (SASL) menangani autentikasi dalam konfigurasi Postfix.

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
  9. Simpan perubahan Anda dan tutup file tersebut.

  10. Buat peta sandi SASL.

    1. Buat file sandi baru yang siap untuk input standar.

      root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
      
    2. Pada perintah, masukkan detail layanan, dengan mengganti YOUR_SMTP_LOGIN dan YOUR_SMTP_PASSWORD dengan kredensial Anda. Lihat bantuan Mailgun untuk mendapatkan petunjuk cara melihat atau mengubah kredensial per domain Anda.

      > [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
      
    3. Tutup dan simpan file dengan mengetik pembatas, EOF.

      > EOF
      
  11. Gunakan utilitas postmap untuk menghasilkan file .db.

    root@test-instance:~# postmap /etc/postfix/sasl_passwd
    
    root@test-instance:~# ls -l /etc/postfix/sasl_passwd*
    
    -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
    
  12. Selanjutnya, hapus file yang berisi kredensial Anda karena sudah tidak diperlukan lagi.

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    
  13. Tetapkan izin di file .db Anda.

    root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
    
    root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db
    
    -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
    
  14. Terakhir, muat ulang konfigurasi Anda untuk memuat parameter yang diubah.

    Debian

    root@test-wheezy:~# /etc/init.d/postfix restart
    

    CentOS

    [root@test-centos ~]# postfix reload
    

  15. Uji konfigurasi Anda. Instal paket mailx atau mailutils dan uji konfigurasi Anda.

    Debian

    root@test-wheezy:~# apt -y install mailutils
    

    CentOS

    [root@test-centos ~]# yum install mailx -y
    

    Mengirim pesan uji coba

    root@test-instance:~# echo 'Test passed.' | mail -s 'Test-Email' EMAIL@EXAMPLE.COM
    

    Buka log sistem Anda untuk melihat baris status yang berisi status dan kode respons server yang berhasil di (250).

    Debian

    root@test-wheezy:~# tail -n 5 /var/log/syslog
    

    CentOS

    [root@test-centos ~]# tail -n 5 /var/log/maillog
    

Untuk mengetahui contoh dan informasi mendetail tentang topik lainnya, termasuk pelacakan dan pemilihan rute pesan, baca dokumentasi Mailgun.

Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.