Apa yang bisa kami bantu?

A. Pendahuluan

PHPMailer merupakan salah satu library bahasa pemrograman PHP yang cukup populer untuk penggunaan pengiriman email dengan menggunakan SMTP (Simple Mail Transfer Protocol). Dengan menggunakan PHPMailer dapat mengirim email melalui script code PHP yang telah terautentikasi SMTP, sehingga dapat meningkantkan kredibilitas email ke penerima email seperti Gmail, Outlook, Yahoo, ataupun akun tujuan sampai masuk ke penerima.

Pada artikel kali ini akan membahas mengintegrasikan PHPMailer di Hosting cPanel secara sederhana, sebelum itu dapat menyipakan requiment yang dibutuhkan:

  • Akun Hosting cPanel.
  • Akun email untuk pengiriman, contoh admin@domainanda.com.
  • Versi PHP 7.2 atau lebih tinggi.
  • Modul/Ektensi PHP: openssl, mbstring, filter, json, session, ctype, curl, fileinfo, iconv, tokenizer.

 

B. Konfigurasi

Setelah menyiapkan requiment service yang dibutuhkan, selanjutkan dapat melakukan persiapan project untuk di  upload ke Hosting cPanel.

 

1. Persiapan Project PHPMailer.

 

Project PHPMailer menggunakan struktur project kurang lebih berikut:

phpmailer/
├── language/
├── src/
│   ├── DSNConfigurator.php
│   ├── Exception.php
│   ├── OAuth.php
│   ├── OAuthTokenProvider.php
│   ├── PHPMailer.php
│   ├── POP3.php
│   └── SMTP.php
├── index.php
├── test-mail.php
└── error_log

 

Pertama download file PHPMail dari laman https://github.com/phpmailer/phpmailer, kalu ekstrak dan upload folder src saja ke Hosting cPanel, kurang lebih isi folder src seperti berikut:

Gambar 1. List File Pada Folder phpmailer/src Pada File Manager.

 

Selanjutnya buat file test-send.php dan index.php dengan konfigurasi berikut:

Gambar 2. Struktur Project pada Folder PHPMailer.

 

a. Konfigurasi file test-send.php digunakan untuk konfigurasi SMTP dari form website ke email server.

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'src/Exception.php';
require 'src/PHPMailer.php';
require 'src/SMTP.php';

$email_tujuan = $_POST['email_tujuan'] ?? '';
$subject      = $_POST['subject'] ?? '';
$pesan        = $_POST['pesan'] ?? '';

$mail = new PHPMailer(true);

try {
    $mail->isSMTP();
    $mail->Host       = 'mail.domain.id'; //<< Ganti dengan host email / SMTP
    $mail->SMTPAuth   = true;
    $mail->Username   = 'admin@domain.id'; //<<Ganti dengan username SMTP
    $mail->Password   = 'Password_Email'; //<<Ganti Dengan Password SMTP
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port       = 465; //Port dapat disesuaian dengan port SMTP Outgoing

    $mail->setFrom('admin@domainid', 'Admin'); //<<Ganti dengan nama email pengirim dan nama pengirim
    $mail->addAddress($email_tujuan);

    $mail->isHTML(true);
    $mail->Subject = $subject;
    $mail->Body    = nl2br(htmlspecialchars($pesan));
    $mail->AltBody = $pesan;

    $mail->send();
    echo "Email berhasil dikirim ke {$email_tujuan}";
} catch (Exception $e) {
    echo "Email gagal dikirim. Error: {$mail->ErrorInfo}";
}

 

b. Konfigurasi file index.php, digunakan untuk form website.

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Test Kirim Email PHPMailer</title>
</head>
<body>
    <h2>Form Test Email</h2>
    <form action="test-mail.php" method="post">
        <label>Email Tujuan:</label><br>
        <input type="email" name="email_tujuan" required><br><br>

        <label>Subject:</label><br>
        <input type="text" name="subject" required><br><br>

        <label>Pesan:</label><br>
        <textarea name="pesan" rows="6" cols="50" required></textarea><br><br>

        <button type="submit">Kirim Email</button>
    </form>
</body>
</html>

 

2. Pecobaan Pengiriman Email.

 

Setelah upload file project yang  dibutuhkan dan melakukan konfigurasi konfigurasi SMTP email, selanjutkan melakukan percobaan pengiriman email menggunakan PHPMailer.

 

Pertama akses web PHPMailer, dikarenakan pada project PHPMailer terdapat pada folder phpmailer, maka dapat akses seperti berikut https://domain.id/phpmailer/.

Gambar 3. Tampilan Form PHPMailer.

 

Pada gambar diatas merupakan salah satu contoh penginputan, sehingga dapat disesuaikan saat percobaan berlangsung. Jika sudah sesuai, dapat klik button “Kirim Email”.

 

Jika berhasil akan terdapat informasi berikut:

Gamabr 4. Percobaan Pengiriman Berhasil.

 

Selanjutya dapat dicek pada email, apabila berhasil akan menerima email dengan contoh berikut:

Gambar 5. Email Terkirim di Inbox.

 

C. Penutup

Dengan mengikuti panduan diatas dapat dengan mudah membuat PHPMailer pada Hosting cPanel dengan baiik, sehingga website tetap memiliki fitu pengiriman email.

 

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.