author
Hamid Wahyudin

Cara Mengirim Email dengan Library Email PHPMailer


#

Mengirim email notifikasi ke user adalah fitur yang sudah umum ketika kita membuat sebuah aplikasi berbasis web. Fitur ini biasa diterapkan pada contact form, reset password atau bahkan untuk mengirim link approval dari aplikasi yang telah kita buat.

Nah, pada kesempatan kali ini kita akan mencoba untuk mengirim email dengan bantuan sebuah library yang bernama PHPMailer serta akun SMTP Gmail.

Mengatur akun SMTP Gmail

Login ke akun Google kamu.

Lalu atur dengan membuka link ini dan aktifkan Allow less secure apps/ Izinkan aplikasi yang kurang aman. Konfigurasi akun Gmail kamu seperti ini :

Allow less secure apps

Install Library PHPMailer

Buatlah sebuah folder untuk proyek ini, lalu masuk ke folder tersebut.

Silahkan ketik perintah di bawah ini untuk menginstal Library PHPMailer.

composer require phpmailer/phpmailer

Composer Install PHPMailer

Setelah menginstal lalu kita buat sebuah file baru yang kita beri nama kirim-email.php dan isikan kode dibawah ke file yang kita buat tadi.

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load composer's autoloader
require 'vendor/autoload.php';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 3;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = '[email protected]';                 // SMTP username
    $mail->Password = 'password';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Joe User');     // Add a recipient

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
?>

Ganti pada bagian $mail->Username dan $mail->Password dengan dengan akun Gmail kalian, $mail->setFrom dengan email kalian dan nama kalian dan $mail->addAddress ganti dengan alamat email yang dituju.

Save file tadi lalu jalan kan di browser denga alamat http://localhost/namafolder/kirim-email.php

Jika berhasil maka akan muncul informasi Message has been sent.

Referensi: