Cara Kirim Email PHPMailer Dengan Template Menarik
Contoh desain template email, Anda bisa memilih sendiri atau membuat desain |
Email merupakan surat elektronik yang bisa digunakan untuk bertukar informasi digital. Email memiliki peranan yang cukup penting khususnya dalam perkembangan dunia digital dimana email sering kali dijadikan salah satu syarat untuk mendaftar kesebuah situs/website dengan tujuan untuk mengkonfirmasi kebenaran dari akun yang dibuat atau didaftarkan, dan masih banyak lagi hal – hal lain yang sering memanfaatkan email dalam rangka mencapai tujuan tertentu.
Mengingat begitu besarnya peranan sebuah email maka dari itu sebuah email perlu didesain sedemikian rupa agar menarik ataupun agar terlihat lebih professional apalagi jika itu digunakan untuk sebuah bisnis atau merupakan bagian dari representasi sebuah lembaga/institusi.
Dalam tutorial ini saya akan memberikan sebuah contoh sederhana bagaimana menambahkan template email dengan desain tertentu menggunakan PHPMailer agar email yang dikirim jadi terlihat lebih menarik
Cara Kirim Email PHPMailer Dengan Template Menarik
#1 Buat Akun di MailTrap
Dalam praktik ini Saya akan menggunakan mailtrap.io sebagai host email yang akan digunakan untuk melakukan percobaan mengirim email, nanti Anda bisa membuat akun email terlebih dahulu melalui mailtrap. Lalu nanti Anda akan mendapatkan beberapa informasi seperti host, username dan password yang bisa digunakan untuk percobaan mengirim email seperti berikut :
#2 Buat Desain Email di beefree
Silahkan pilih atau buat desain email Anda melalui beefree atau penyedia layanan template email lain sperti Stripo, Anda bisa memilih menggunakan desain yang sudah ada atau membuat desain email Anda sendiri. Jika sudah selesai Anda bisa mengunduh template yang sudah Anda buat, lalu tambahkan root direktori website Anda
#3 Menambahkan Template Email ke PHPMailer
Tahap selanjutnya adalah Anda perlu menambahkan template email yang sudah Anda siapkan sebelumnya, template email tersebut perlu dikirimkan pada saat Anda mengirim sebuah email. Dalam contoh kasus sederhana disini kita akan mengirim sebuah email konfirmasi pendaftaran ataupun informasi login dari akun yang dibuat oleh pengunjung pada situs milik kita
Baca juga :
- Download library PHPMailer terlebih dahulu
- Selanjutnya buat sebuah helper / fungsi untuk membantu mengirim email
- Karena kita perlu memparsing data yang dikirim ke template html yang sudah dipersiapkan sebelumnya
- Buat fungsi dengan nama MailSender.php dengan isi kode seperti berikut
<?php /** * MailSender * Per utilitzar PHPMailer de forma molt més senzilla i * utilitzant plantilles HTML. * * Dependencies: * - PHPMailer * * @version 0.24 * @license MIT * @author Mario M. <gameofender@gmail.com> * */ class MailSender { var $mailer; var $template; var $body = ''; var $body_alt = ''; public function __construct($host, $username, $password, $isHTML = true) { $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = $host; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = $username; // SMTP username $mail->Password = $password; // SMTP password $mail->isHTML($isHTML); // Set email format to HTML $mail->CharSet = 'UTF-8'; $mail->Port = 2525; $this->mailer = $mail; } /** * Template .html path * @param String $path */ public function setTemplateURL($path) { $this->template = $path; $this->body = file_get_contents($this->template); } public function setBodyAlt($string) { $this->body_alt = $string; } /** * Remplace mail variables inside template with {{var}} notation. * @return Array */ public function compose($args) { if(is_array($args)) { foreach($args as $key => $value){ if(!is_array($value)) $this->body = preg_replace('/{{'.$key.'}}/', $value, $this->body); } } } /** * Send! * @param [type] $from [description] * @param [type] $to [description] * @param [type] $subject [description] * @return [type] [description] */ function send($from, $to, $subject) { $this->mailer->Subject = $subject; $this->mailer->Body = $this->body; if(!empty($this->body_alt)) $this->mailer->AltBody = $this->body_alt; if(is_array($from)) $this->mailer->setFrom($from[0], $from[1]); else $this->mailer->setFrom($from); if(!is_array($to)) $this->mailer->addAddress($to); else { foreach ($to as $email => $name) { $this->mailer->addBcc($email, $name); } } return $this->mailer->send(); } } ?>
- Terakhir Anda bisa mencoba melakukan uji coba pengiriman email dengan contoh kode seperti berikut
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once 'phpmailer/src/PHPMailer.php'; require_once 'phpmailer/src/SMTP.php'; require_once 'phpmailer/src/Exception.php'; require_once 'MailSender.php'; $err = array(); if($_SERVER['REQUEST_METHOD']=='POST') { if(empty($_POST['email']) && empty($_POST['password'])) { array_push($err, "Email atau password tidak boleh kosong"); } else { $email = $_POST['email']; $password = $_POST['password']; } if(count($err)==0) { //definisikan host, username dan password dari host email Anda $mailer = new MailSender('smtp.mailtrap.io', 'b8adfcbd8f44f9', '46670fc16cc28e'); //set template Anda $mailer->setTemplateURL('email_template.html'); //parsing data agar template data mengambil datanya $mailer->compose(array( 'email' => $email, 'password' => $password, 'title'=>'Terima kasih', 'sitename'=>'Root93', )); $sended = $mailer->send( array('pengririm@email.com', 'Dari'), 'penerima@email.com', 'Informasi Login Root93' ); if($sended) { echo "Email sudah terkirim"; } else { echo $sended->ErrorInfo; } } } ?> <!DOCTYPE html> <html> <head> <title>Kirim Email - PHPMailer - ROOT93</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="container" align="center"> <?php if(count($err)>0) { foreach ($err as $error) { echo $error; } } ?> <h4>Tutorial Kirim Email PHPMailer Dengan Template Menarik - root93.co.id</h4> <form action="<?php $_SERVER['PHP_SELF']?>" method="POST"> <table class="items" width="50%" cellpadding="8" border="0"> <tbody> <tr> <td>Email</td> <td><input type="text" name="email" placeholder="Masukan email" /></td> <td>Password</td> <td><input type="password" name="password" placeholder="Masukan password" /></td> <td><input type="submit" name="register" value="Register" /></td> </tr> </tbody> </table> </form> </div> </body> </html>
Hasil eksekusi kode pada browser |
Catatan :
Pada template email html, Anda bisa mengakses variabel data dengan parameter seperti berikut {{email}} {{password}} dst sesuai nilai yang diparsing didalam parameter array compose
0 Response to "Cara Kirim Email PHPMailer Dengan Template Menarik"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin