Rumahweb Journal
Banner - Script PHP SMTP Untuk Pengiriman Email dari Website

Script PHP SMTP Untuk Pengiriman Email dari Website

Pada layanan hosting di Rumahweb, function mail() kami disable untuk alasan keamanan. Karena itu, pengiriman email melalui website bisa dilakukan melalui script SMTP. Pada panduan ini, Kami akan berbagi script PHP SMTP untuk pengiriman email dari Website.

Bagi Anda yang menggunakan CMS seperti WordPress, Joomla atau CMS Sekolahku, Anda bisa mempelajari panduannya melalui link Setting SMTP.

Sedangkan untuk website yang dibuat dengan CodeIgniter atau PHP Native, Anda bisa menggunakan script SMTP phpmailer untuk pengiriman email dari website.

Mengenal PHPMailer

PHPMailer adalah sebuah kelas PHP yang digunakan untuk mengirim email melalui script PHP. Script PHPMailer menjadi yang paling banyak digunakan oleh programmer, untuk mengirimkan email dari aplikasi maupun website yang dibuat. Selain karena fitur yang lengkap, PHPMailer didukung protokol email standar seperti SMTP, sendmail, hingga mail().

PHPMailer dengan protokol SMTP adalah solusi paling mudah dan cepat bagi Anda yang ingin mengirim email dari website, ketika hosting Anda tidak mendukung fungsi mail().

Pada panduan ini, kami akan berbagi script php SMTP mailer untuk versi php 5.6 hingga versi php 8.2.

Membuat Script PHP SMTP Mailer

Pada panduan ini, kami akan mendemokan contoh script php smtp mailer pada versi php 5.6-7.4 hingga php 8.0-8.2.

PHP 5.6 – 7.4

Jika script website Anda masih menggunakan php 5.6 hingga 7.4, Anda bisa memilih opsi script ini. Berikut kami sampaikan cara membuat script phpmailer pada website untuk pengiriman emailnya.

  1. Letakkan library “PHPMailer” di folder yang diingikan, misalnya phpmailer/class.phpmailer.php
  2. Jika sebelumnya Anda sudah membuat script SMTP, maka Anda bisa menyesuaikan script smtp seperti contoh. Namun jika Anda belum membuat script smtp, Anda bisa membuat file dengan nama kirim.php lalu gunakan script berikut:
<?php
include "classes/class.phpmailer.php";
$mail = new PHPMailer;

$mail->IsSMTP();

$mail->SMTPSecure = 'ssl';

$mail->Host = "localhost"; //hostname masing-masing provider email
$mail->SMTPDebug = 2;
$mail->Port = 465;
$mail->SMTPAuth = true;

$mail->Timeout = 60; // timeout pengiriman (dalam detik)
$mail->SMTPKeepAlive = true; 

$mail->Username = "admin@namadomain"; //user email
$mail->Password = "XXXXX"; //password email
$mail->SetFrom("admin@namadomain","Nama pengirim yang muncul"); //set email pengirim
$mail->Subject = "Pemberitahuan Email dari Website"; //subyek email
$mail->AddAddress("admin@namadomain","Nama penerima yang muncul"); //tujuan email
$mail->MsgHTML("Pengiriman Email Dari Website");

if($mail->Send()) echo "Message has been sent";
else echo "Failed to sending message";
?>

Contoh script beserta class phpmailer php 5.6 sampai 7.4 bisa Anda download melalui link berikut : Download Script Class PHPMailer

PHP 8.0 – 8.2

Jika website Anda menggunakan php versi 8.0 hingga 8.2, Anda bisa memilih opsi script berikut.

  1. Letakkan library “PHPMailer” di folder yang diingikan, misalnya phpmailer/class.phpmailer.php
  2. Jika sebelumnya Anda sudah membuat script SMTP, maka Anda bisa menyesuaikan script smtp seperti contoh. Namun jika Anda belum membuat script smtp, Anda bisa membuat file dengan nama kirim.php lalu gunakan script berikut:
<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

//Load Composer's autoloader
require 'librarysmtp/autoload.php';

//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;  //Enable verbose debug output
    $mail->isSMTP();   //Send using SMTP
    $mail->Host       = 'domainsmtp.com'; //hostname/domain yang dipergunakan untuk setting smtp
    $mail->SMTPAuth   = true;  //Enable SMTP authentication
    $mail->Username   = '[email protected]'; //SMTP username
    $mail->Password   = 'GN},5SliCpu*';   //SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;   //Enable implicit TLS encryption
    $mail->Port       = 465;   //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

    //Recipients
    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Joe User');     //email tujuan
    $mail->addReplyTo('[email protected]', 'Information'); //email tujuan add reply (bila tidak dibutuhkan bisa diberi pagar)
    $mail->addCC('[email protected]'); // email cc (bila tidak dibutuhkan bisa diberi pagar)
    $mail->addBCC('[email protected]'); // email bcc (bila tidak dibutuhkan bisa diberi pagar)

    //Attachments
    #$mail->addAttachment('/var/tmp/file.tar.gz');   //Add attachments
    #$mail->addAttachment('/tmp/image.jpg', 'new.jpg');  //Optional name

    //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! thus</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}";
}

Contoh script beserta class phpmailer php 8 bisa Anda download melalui link berikut Download Script SMTP PHP 8

Petunjuk Pengisian Script

Anda bisa mengisi script SMTP tersebut dengan email domain maupun email gmail. Berikut petunjuk pengisian untuk keduanya.

Email Domain

  • host = mail.namadomainanda
  • username = alamat email domain Anda
  • password = password emailnya
  • port = 465
  • smtpsecure = ‘SSL’

Email Gmail

  • host = smtp.gmail.com
  • username = alamat email gmail Anda
  • password = gunakan password application. Panduan generate password application bisa Anda pelajari pada : password application gmail
  • port = 465
  • smtpsecure = ‘SSL’

Pengujian SMTP

Setelah script selesai dibuat, silahkan Anda melakukan test pengiriman email dari website. Kami akan contohkan untuk menjalankan file kirim.php yang telah kita buat sebelumnya. Hasilnya akan menjadi seperti berikut :

contoh Script PHP SMTP Untuk Pengiriman Email dari Website

Anda juga bisa menguji pengiriman emailnya melalui aplikasi website yang Anda buat. Jika tidak ditemukan error log dan email berhasil terkirim, artinya script php smtp yang Anda buat telah berfungsi dengan baik.

Demikian cara membuat script php SMTP di website untuk pengiriman email. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 3.7 / 5. Vote count: 38

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Hosting Murah

Denny Oktafianto