Minggu, 19 Agustus 2012

Mengirim Email Attachment PHP dengan SMTP GMail (Pemrograman Web PHP)

Setelah bisa menggunakan PHP untuk mengirim Email dengan SMTP GMail dan Menerima Email dengan IMAP dari GMail ditambah Mengirimkan Email menggunakan Attachment dengan Fungsi PHP Mail(), kali ini kita coba untuk mengirimkan Email dengan Attachment tetapi menggunakan SMTP dari GMail.

Sebagai catatan kode program ini dapat berjalan apabila komputer atau server yang digunakan mempunyai akses melewati port SSL SMTP. Dimana itu belum tentu diizinkan apabila anda menggunakan komputer yang terhubung di jaringan publik, warnet, kantor dan sebagainya. Tetapi biasanya bisa apabila anda menggunakan komputer/laptop pribadi dengan server localhost menggunakan koneksi internet dengan HP atau modem.

Berikut ini kode programnya :

<?php
    // http://cariprogram.blogspot.com
    // nuramijaya@gmail.com
    // sumber : http://atik97.wordpress.com/2010/11/25/send-email-with-attachment-using-gmail%E2%80%99s-smtp-server-with-php/

require_once "Mail.php";
require_once "Mail/mime.php";


$from      = "mapjogja@gmail.com";
$to        = "nuramijaya@gmail.com";
$subject   = "Test Message dengan Attachment!";
$bodyTxt   = "Email dgn Attachment!";

$config=array(
    'host'      => 'ssl://smtp.googlemail.com',
    'port'      => 465,
    'auth'      => true,
    'username'  => 'mapjogja@gmail.com',
    'password'  => 'xxxxx'
);

$filepath="dokumen.zip";
$fileContentType="text/plain";

$mime = new Mail_Mime("\r\n");
$mime->setTXTBody($bodyTxt);
$mime->addAttachment($filepath,$fileContentType);

$headerInfo=array(
    'From'      => $from,
    'To'        => $to,
    'Subject'   => $subject
);

$body = $mime->get();
$headers = $mime->headers($headerInfo);

$smtp = Mail::factory('smtp',$config);

$mail = $smtp->send($to, $headers, $body);

if(!(PEAR::isError($mail)))
{
    echo "Mail sent successfully!";
}

else
{
    echo $mail->getMessage();
}
?>

Kode program selengkapnya beserta file pendukung include Mail.php dan Mail/mime.php dapat didownload disini. Setelah di Google Docs, klik File-Download.

Semoga berguna.