Articles

PHPMailer dengan setting awal pada Yii

Pada artikel sebelumnya kita telah membahas cara mudah menggunakan PHPMailer untuk mengirimkan email dengan menggunakan SMTP dan juga menggunakan framework PHP yaitu Yii. Dalam implementasinya tentu tidak praktis jika kita harus menulis kembali host, username dan password setiap kali kita membuat program. Dalam membuat program tentu kita ingin memasukkan informasi-informasi yang penting berkaitan dengan email yang akan dikirimkan ke user.

Untuk mengimplementasikan setting awal pada PHPMailer kita dapat membuat class tersendiri yang merupakan turunan dari PHPMailer. Supaya terlihat rapi kita akan membuat class turunan PHPMailer dengan susunan file seperti gambar berikut ini

Pada file PHPMailerku.php ini kita akan membuat source code PHPMailer dengan setting awal seperti contoh berikut ini

<?php
require "./protected/extensions/PHPMailer/PHPMailerAutoload.php";
class PHPMailerku extends PHPMailer
{
    public $Host = 'mail.penting.web.id';  // Specify main and backup SMTP servers
    public $SMTPAuth = true;                               // Enable SMTP authentication
    public $Username = 'coba@penting.web.id';                 // SMTP username
    public $Password = 'rahasia';                           // SMTP password
    public $SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    public  $Port = 587;      

    function __construct()
    {
        $this->isSMTP();
    }
}

Kemudian source pada program Yii yang lain akan menggunakan class tersebut seperti contoh berikut ini

    public function actionKirim()
    {
        require "./protected/extensions/PHPMailerku.php";

        $mail = new PHPMailerku;
        $mail->setFrom('coba@penting.web.id', 'Coba');
        $mail->addAddress('cpanel@prowebshare.com', 'Panel Ku');

        $mail->isHTML(true);                                  // Set email format to HTML

        $mail->Subject = 'PHPMailer turunan dalam Yii';
        $mail->Body    = 'Ini menggunakan HTML <b>ini tebal!</b>';

        if(!$mail->send())
        {
            echo 'Message could not be sent.';
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        }
        else
        {
            echo 'Message has been sent';
        }
    }

Informasi lebih lanjut silahkan mengunjungi
1. https://sourceforge.net/projects/phpmailer/
2. https://github.com/PHPMailer/PHPMailer

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Other Yii Articles:
PHPMailer dengan setting awal pada Yii
Menggunakan PHPMailer pada Yii
Membuat relasi composite key pada Yii
Paging pada cGridView Yii
Batch proses Yii dari command line
Kustomisasi button dan link CGridView Yii
Setup TCPDF di Yii
Setup PHPExcel di Yii
Manual sorting CGridView Yii
Multiple checkbox CGridView Yii
Tambahan sorting CActiveDataProvider Yii