Mengirim Email dengan PHPMailer pada Bahasa Pemrograman PHP
LATAR BELAKANG
Simple Mail Transfer Protocol (SMTP) adalah sebuah protokol pada jaringan internet yang digunakan untuk berkomunikasi dengan server guna mengirimkan email dari lokal email ke server, sebelum akhirnya dikirimkan ke server email penerima. Proses ini dikontrol dengan Mail Transfer Agent yang ada dalam server email. SMTP secara default menggunakan port 25 tanpa enkripsi namun juga dapat menggunakan port lain yaitu 465 untuk SSL dan 587 untuk TLS.
PEMBAHASAN
Saat ini dependencies untuk mengirim email dengan SMTP dengan bahasa PHP sudah banyak bermunculan salah satunya adalah PHPMailer. PHPMailer membuat kode mengirim email lebih simpel, email pun dapat dikustomisasi. PHPMailer dapat diunduh melalui laman GitHub namun sangat disarankan untuk mengunduhnya melalui composer.
Depedencies secara umum dapat dikatakan sebagai library tambahan yang dapat digunakan untuk mempermudah suatu proses koding. Pada artikel ini depedencies yang akan digunakan adalah PHPMailer sebuah depedencies yang mempermudah untuk mengirim email melalui SMTP. Jika membuat sendiri dari 0 tentu butuh waktu yang panjang dan kode yang cukup banyak dengan PHPMailer hanya cukup kode beberapa baris saja kirim email bisa dilakukan.
Untuk bisa mendapatkan PHPMailer, diperlukan perantara yaitu Composer. Berikut link download composer jika belum ada. Jika tertarik untuk integrasi compsoer dengan Visual Studio Code, penulis sudah membahasnya di sini.
Cara instal PHPMailer
-
Buka Terminal
Buka Terminal/CMD di folder projek web yang akan menggunakan PHPMailer. -
Jalankan Perintah
composer require phpmailer/phpmailer
-
Tunggu Proses
Hasil Composer
Jika menggunakan Gmail sebagai email SMTP maka perlu menggunakan App Password. Cara membuat App Password
Cara Menggunakan PHPMailer
-
Import PHPMailer
Pada file .php import PHPMailer dan autoload.use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\OAuth;
require 'vendor/autoload.php'; -
Tentukan Format Email
Tentukan format email yang akan dikirim seperti apa, contoh yang dibuat adalah seperti email registrasi sebagai berikut :
Contoh Format Email
1. Judul / Subjek dari Email
2. Alias / Nama lain pengirim yang dimunculkan di email
3. Alamat Email pengirim
4. Body / Isi dari pesan, ditulis dengan HTML
5. Nama pemilik email yang dituju
6. Link / Tautan, ketika membuat email registrasi maka link ini adalah API untuk autentikasi.
-
Contoh Implementasi Kode
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\OAuth; require 'vendor/autoload.php'; $kepada = 'email tujuan'; $nama = 'nama orang yang dituju'; $judul_email = 'Kirim Email dengan Gmail API'; $link = 'tataadin.blogspot.com'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = 'smtp.gmail.com'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username= 'email yang digunakan/ pengirim'; $mail->Password= 'password email'; $mail->setFrom('email yang digunakan','alias / nama pengirim'); $mail->addAddress($kepada); $mail->Subject = $judul_email; $mail->CharSet = 'utf-8'; $mail->isHTML(true); $mail->Body = '<b>Terimakasih '.$nama.', Telah Mengirim Email</b> <br/>Buka Blog Tata Adi N <a href='.$link.'>disini</a>'; if(!$mail->send()) { echo "Mailer Error: ".$mail->ErrorInfo; }else{ echo "Kirim Email Berhasil"; } ?>
KESIMPULAN
Cara mengirim email dengan PHPMailer ini memang mudah namun terdapat kekurangan yaitu aplikasi dianggap kurang aman karena autentikasinya kurang secure terkadang juga dianggap spam, oleh sebab itu lebih baik menggunakan autentikasi API contohnya adalah GmailAPI. Jika mengalami masalah dari penerapan Source Code dan ada pertanyaan dapat diajukan melalui media sosial penulis yang tertera pada Widget Blog ini.
Untuk pengaturan lain bisa dilihat di laman resmi github PHPMailer
PHPMAILER
Contoh SourceCode
Gabung dalam percakapan