Akademi Manajemen Informatika

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).

READ  CRUD Sederhana Menggunakan PHP Dan MySQL

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:

Folder Project

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).

Email Sent

Informasi header email sesuai dengan konfigurasi kita pada kode.

Email Sent

Source code Kepada tutorial ini dapat Engkau lihat di GitHub Sandi Dharma

READ  Digital Ecosystem: Pengertian, Manfaat, dan Contohnya