Halo, selamat datang di Sandi Dharma Blog. Bagaimana kabarnya hari ini? semoga tetap semangat belajar kodingnya ya. Pada postingan kali ini kita akan belajar bagaimana Langkah mengirim email menggunakan PHP.
Kemampuan aplikasi Kepada mengirim email merupakan salah satu hal yang Krusial. Email ini biasanya berupa notifikasi pemberitahuan yang dikirimkan kepada pengguna seperti pemberitahuan keamanan, permintaan reset password, atau pemberitahuan-pemberitahuan lainnya yang bersifat transactional.
PHPMailer
PHPMailer adalah sebuah library PHP Kepada mengirim email. PHPMailer menyediakan beberapa metode pengiriman email, salah satunya adalah SMTP (Simple Mail Transfer Protocol).
Kepada menggunakan PHPMailer, Engkau dapat langsung mendownloadnya dari repository github atau install menggunakan composer Kalau aplikasi Engkau menggunakan composer. Composer adalah sebuah package manager PHP yang memudahkan Engkau Kepada mengelola library dalam project Engkau.
Menyiapkan SMTP Server
Kepada mengirim email menggunakan SMTP, Engkau memerlukan SMTP server. Server ini yang akan mengirimkan email yang Engkau tulis ke tujuan yang Engkau tentukan. Eksis sebuah tool SMTP Kepada keperluan development Merukapan Mailtrap. Engkau Dapat Membangun akun di sana dan mendapatkan informasi SMTP Kepada tutorial kita kali ini.
Kalau Engkau Mempunyai SMTP server sendiri, Engkau Dapat menggunakannya. Engkau juga Dapat menggunakan SMTP dari Google Mail, Tetapi sepengalaman saya banyak mengalami masalah Ketika menggunakan SMTP dari Google Mail.
Mengirim Email Menggunakan PHPMailer
Lanjut ke bagian koding, silahkan buat folder project PHP baru dalam folder root localhost (htdocs, www, atau sejenisnya).
Pada tutorial ini kita akan menginstall PHPMailer dengan Langkah mendownloadnya langsung. Engkau Dapat download PHPMailer pada link berikut:
https://github.com/PHPMailer/PHPMailer/archive/refs/tags/v6.6.3.zip
Setelah selesai mendownload, ekstrak isi arsip yang sudah Engkau download ke dalam folder project.
Dalam folder project, buat sebuah file send.php
. Folder project Engkau harusnya terlihat kurang lebih seperti berikut ini:
Dalam file send.php
buat kode seperti ini:
php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require './PHPMailer/src/Exception.php';
require './PHPMailer/src/PHPMailer.php';
require './PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
Note: sesuaikan path folder Punya Engkau Kalau Letak folder PHPMailer berbeda.
Di bawahnya, Tambahkan blok try-catch
Kepada menangkap error dari Exception yang terjadi.
php
// kode lainnya...
try {
} catch (Exception $th) {
echo "PHPMailer Error: {$mail->ErrorInfo}";
}
Dalam blok try
tambahkan kode Kepada koneksi ke server SMTP.
php
// kode lainnya...
try {
$mail->isSMTP();
$mail->Host = 'isi host smtp Engkau';
$mail->SMTPAuth = true;
$mail->Username = 'isi username smtp Engkau';
$mail->Password = 'isi password smtp Engkau';
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
} catch (Exception $th) {
// kode lainnya...
}
Berikutnya, Tetap dalam blok try
, tambahkan kode Kepada informasi pengiriman email.
php
// kode lainnya...
try {
// kode lainnya...
// Atur pengirim email
$mail->setFrom('[email protected]', 'Pengirim email keren');
// Atur penerima email
$mail->addAddress('[email protected]', 'Penerima email keren');
// Atur reply to
$mail->addReplyTo('[email protected]', 'Informasi');
// Atur cc
$mail->addCC('[email protected]', 'CC Keren');
// Atur bcc
$mail->addBCC('[email protected]', 'BCC Keren');
} catch (Exception $th) {
// kode lainnya...
}
Berikutnya, Tetap dalam blok try
, tambahkan kode Kepada subjek, dan body email.
php
// kode lainnya...
try {
// kode lainnya...
// Isi email
$mail->isHTML();
// Atur subjek
$mail->Subject = 'Coba Mengirim Email';
// Atur body
$mail->Body = 'Halo ini adalah email yang dikirim dengan HTML dan Huruf Tebal';
// Atur versi text Kepada email
$mail->AltBody = 'Halo ini adalah email yang dikirim dengan plain text';
} catch (Exception $th) {
// kode lainnya...
}
Terakhir, dalam blok try
, tambahkan kode Kepada mengirim email kita.
php
// kode lainnya...
try {
// kode lainnya...
// Kirim email kita
$mail->send();
echo 'Email sent...';
} catch (Exception $th) {
// kode lainnya...
}
Hasil keseluruhan dari file send.php
kita akan menjadi seperti ini.
php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require './PHPMailer/src/Exception.php';
require './PHPMailer/src/PHPMailer.php';
require './PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'isi host smtp Engkau';
$mail->SMTPAuth = true;
$mail->Username = 'isi username smtp Engkau';
$mail->Password = 'isi password smtp Engkau';
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
// Atur pengirim email
$mail->setFrom('[email protected]', 'Pengirim email keren');
// Atur penerima email
$mail->addAddress('[email protected]', 'Penerima email keren');
// Atur reply to
$mail->addReplyTo('[email protected]', 'Informasi');
// Atur cc
$mail->addCC('[email protected]', 'CC Keren');
// Atur bcc
$mail->addBCC('[email protected]', 'BCC Keren');
// Isi email
$mail->isHTML();
// Atur subjek
$mail->Subject = 'Coba Mengirim Email';
// Atur body
$mail->Body = 'Halo ini adalah email yang dikirim dengan HTML dan Huruf Tebal';
// Atur versi text Kepada email
$mail->AltBody = 'Halo ini adalah email yang dikirim dengan plain text';
// Kirim email kita
$mail->send();
echo 'Email sent...';
} catch (Exception $th) {
echo "PHPMailer Error: {$mail->ErrorInfo}";
}
Mencoba Mengirim Email
Kepada mencoba mengirim email, pastikan Engkau sudah mengaktifkan localhost Engkau ya. Setelah itu Engkau Dapat buka browser dan arahkan ke URL file send.php
.
Kepada URL project saya, kurang lebih seperti ini:
http://localhost/send-email-php/send.php
Berikut ini adalah hasil email yang saya kirimkan menggunakan PHPMailer. (Menggunakan SMTP Mailtrap).
Informasi header email sesuai dengan konfigurasi kita pada kode.
Source code Kepada tutorial ini dapat Engkau lihat di GitHub Sandi Dharma