Email, Linux, PHP, Software

Memasang MailCatcher di Ubuntu 22.04

Gambar email ditangkap dengan sarung

Catatan: pos ini merupakan update dari pos lama yang berjudul Menangkap Email Ketika Membangun Aplikasi dengan MailCatcher.


Saat membangun sebuah aplikasi web, sering saya dihadapkan untuk melakukan pengiriman email dari aplikasi yang sedang dibangun. Tapi bagaimana caranya kita mengetahui kalau email yang kita kirim sesuai dengan keinginan kita dan dengan cara yang cepat, alias langsung dapat diakses di komputer kita sendiri?

Di sinilah program seperti MailCatcher berguna, selain program ini ringan dibandingkan kita menggunakan MTA seperti sendmail atau yang lainnya yang lebih berat, padahal kita hanya membutuhkannya hanya untuk menampilkan email saja.

MailCatcher adalah sebuah program dalam bahasa Ruby yang berfungsi sebagai sebuah server SMTP yang sederhana yang tugasnya menangkap semua email dan menampilkannya di web broser.

Prasyarat

Berikut beberapa aplikasi dan sistem operasi yang saya gunakan untuk memasang Mailcatcher:

  1. Distro PoP!_OS 22.04 yang berbasiskan Ubuntu 22.04
  2. Web server: Nginx
  3. PHP 7.4 FPM

Cara Memasang MailCatcher

Pertama, kita update terlebih dahulu OS:

sudo apt update && sudo apt upgrade -y

Kedua, pastikan paket-paket GCC dan build-essential telah terpasang, kedua paket ini sebagai perangkat untuk melakukan kompilasi aplikasi.

sudo apt install -y gcc build-essential

Berikutnya, pasang dua buah library yang diperlukan untuk memasang MailCatcher adalah libsqlite3-dev dan ruby-dev, maka untuk memasang keduanya, ketikkan kedua perintah di bawah ini:

sudo apt install libsqlite3-dev ruby-dev

Maka akan terpasang aplikasi-aplikasi Ruby dan sejumlah library Ruby.

Berikutnya kita memasang Mailcatcher sebagai paket RubyGem, yang dapat dilakukan dengan mengetikkan perintah:

sudo gem install mailcatcher

Bergantung kepada kecepatan Internet Anda, proses ini akan memakan waktu yang lumayan.

Setelah Mailcatcher terpasang, supaya Mailcatcher dijalankan secara otomatis ketika kita memulai komputer, buat sebuah file bernama mailcatcher.service dan simpan di direktori /etc/systemd/system/. Buka file tersebut dengan editor teks favorit Anda dan copas kode berikut:

[Unit]
Description = MailCatcher
After=network.target
After=systemd-user-sessions.service
[Service]
Type=simple
Restart=on-failure
ExecStart=/usr/local/bin/mailcatcher --foreground --ip 0.0.0.0
[Install]
WantedBy=multi-user.target

Jalankan perintah berikut agar file ini dijalankan di start komputer kita:

sudo systemctl enable mailcatcher

Dan ketik perintah di bawah untuk menjalankan service mailcatcher:

sudo service mailcatcher start

Juga edit file /etc/nginx/sites-avalaible/default atau pada file server block (contoh: /etc/nginx/sites-available/subdomain.conf dengan menambahkan perintah:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_read_timeout 300;
    fastcgi_param   PHP_VALUE         "sendmail_path=/usr/bin/env /usr/local/bin/catchmail -f test@local.dev";
}

Restart service PHP FPM dengan perintah:

sudo service php7.4-fpm restart

Jalankan aplikasi anda, dan lihat email yang telah ditangkap dengan mengakses http://127.0.0.1:1080/ lewat web browser Anda. Kira-kira seperti di bawah ini:

MailCatcher screenshot, courtesy of MailCatcher.me

Enjoy, semoga bermanfaat.

Leave a Reply