Bagaimana Cara Mengirim Email dengan SMTP dan PHPMailer
Pengantar
Jika Anda ingin mengirim email dari website atau aplikasi PHP menggunakan akun email domain Anda sendiri (misalnya admin@domainanda.com), salah satu cara terbaik dan paling aman adalah dengan menggunakan SMTP dan PHPMailer.
PHPMailer adalah pustaka PHP open-source yang digunakan untuk mengirim email dengan cara yang lebih fleksibel dibandingkan fungsi mail() bawaan PHP. PHPMailer mendukung:
- Pengiriman email menggunakan SMTP
- Lampiran file
- Format HTML
- Autentikasi username & password
- Enkripsi SSL/TLS
Artikel ini akan membahas secara lengkap, langkah demi langkah, mulai dari instalasi hingga script pengiriman email dengan autentikasi SMTP.
Persiapan Sebelum Menggunakan PHPMailer
- Akun SMTP
Pastikan Anda sudah memiliki akun email yang aktif di cPanel, misalnya admin@domainanda.com. Anda akan memerlukan
- SMTP Host: biasanya mail.domainanda.com
- SMTP Port: 465 (SSL) atau 587 (TLS)
- Username: alamat email lengkap
- Password: password akun email tersebut
- Library PHPMailer
Anda memerlukan akun email yang mendukung SMTP, seperti Gmail, Yahoo, atau akun email hosting. Lalu PHPMailer yang merupakan library PHP populer untuk mengirim email dengan SMTP. Ada dua cara menginstal PHPMailer- Dengan Composer
Anda bisa menggunakan command berikut
composer require phpmailer/phpmailer
- Manual (Tanpa Composer)
Download dari GitHub: https://github.com/PHPMailer/PHPMailer
- Dengan Composer
Langkah-langkah Mengirim Email dengan PHPMailer
- Pastikan Server Bisa Menjalankan PHP
Anda bisa menjalankan script ini di local server (XAMPP, Laragon, MAMP) atau hosting cPanel. Pastikan PHP sudah terinstal, dan kalau pakai Composer, pastikan juga Composer sudah jalan - Unduh PHPMailer
Anda bisa unduh PHPMailer menggunakan composer. Buka Terminal anda dan ketika perintah berikut
composer require phpmailer/phpmailer
Jika sudah terunduh anda bisa mengekstrak folder phpmailer tersebut - Buat File PHP untuk Mengirim Email
Masuk ke dalam folder PHPMailer, buat file baru misalnya dengan nama sendMail.php, lalu isi dengan script seperti ini.
Anda bisa mendapatkan script diatas di https://github.com/PHPMailer/PHPMailer?tab=readme-ov-file#a-simple-example - Jalankan Script
- Pindahkan folder PHPMailer ke htdocs (XAMPP) atau www (Laragon)
- Jalankan melalui browser dengan command berikut
Jika berhasil tampilan akan seperti gambar dibawahhttp://localhost/send-email.php
Tips Tambahan
- Jangan menyimpan password email di dalam file secara terbuka di server publik.
- Gunakan variabel .env atau konfigurasi khusus untuk menyimpan informasi sensitif.
- Pastikan server Anda tidak memblokir port SMTP (465/587) jika email gagal terkirim.
- Jika email tidak sampai ke inbox penerima, periksa folder spam dan gunakan Email Deliverability untuk memperbaiki konfigurasi DNS.
Kesimpulan
Mengirim email menggunakan SMTP dan PHPMailer adalah cara yang aman dan andal untuk memastikan email Anda dikirim dengan benar, terutama dari aplikasi web atau form kontak. Dibandingkan fungsi mail()
bawaan PHP, PHPMailer jauh lebih fleksibel dan memiliki dukungan yang luas untuk SMTP, enkripsi, dan attachment.
Dengan mengikuti panduan di atas, Anda sudah bisa mengatur SMTP dengan domain Anda sendiri dan mengirim email dari script PHP secara profesional.