story of a boy programmers, musicians and the boys life

9Aug/105

PHP send email via SMTP Gmail menggunakan local server

masih bingung dengan send email di php yang banyak konfigurasi manual nya, dan masih tetep ga jalan ? disini saya coba share tentang send email via SMTP gmail dan kita gunakan script php untuk mengeksekusinya. hanya ada dua langkah mudah untuk membuatnya bekerja sebagaimana mestinya :

konfigurasi di php.ini .

jangan khawatir, konfigurasi ini tidak begitu sulit. Beberapa web lain merekomendasikan melakukan perubahan pada anonymous ftp password dan mail function.

seperti gambar disamping ini, file php.ini baris ke 703 di kompi saya tidak perlu dirubah meskipun beberapa website merekomendasikannya.

beberapa web lain pun merekomendasikan untuk merubah sendmail_from dari me@example.com menjadi akun email kamu. Tapi ini pun tidak saya rubah.

saya tidak melakukan perubahan code di php.ini , saya hanya membuka ekstensi openssl yang ada di konfigurasi file.

seperti yang terlihat pada gambar disamping kiri ini. file extension=php_openssl.dll dibaris 637 file php.ini di kompi saya asalnya ditutup dengan ; . kamu hanya perlu membukanya.

setelah extension = php_openssl.dll dibuka, coba restart kembali apache server kamu. ok, setelah ini file php.ini tidak usah kita ganggu gugat lagi. Mulai sekarang kita tinggal terjun ke script php nya saja.

PHP Script

saya disini ambil script simple nya saja untuk send email. Untuk pengembangannya nanti kamu bisa modifikasi bagaimana triknya  mulai dari penyesuaian body text sampai masalah security code tentang send email. Atau jika saya ada waktu, nanti saya bahas di postingan selanjutnya.

codingnya adalah sebagai berikut :

<?php

require_once "Mail.php";

$from   =  "nama_pengirim@domain.com";

$to         =  "nama_penerima@domain.com";

$subject = "Tes";

$body = "Hi,\n\n tes tes";

$host = "ssl://smtp.gmail.com";

$port = "465";

$username = "akun_google@google.com";

$password = "passwordnya";

$headers = array ('From' => $from,

'To' => $to,

'Subject' => $subject);

$smtp = Mail::factory('smtp',

array ('host' => $host,

'port' => $port,

'auth' => true,

'username' => $username,

'password' => $password));

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

if (PEAR::isError($mail)) {

echo("<p>" . $mail->getMessage() . "</p>");

} else {

echo("<p>Pesan Terkirim :) </p>");

}

?>

Penjelasan coding

require_once "Mail.php";

Mail.php tidak perlu disertakan karena file ini sudah include ketika instalasi PEAR.

$host = "ssl://smtp.gmail.com";

$port = "465";

$host adalah nama server gmail untuk akun gmail, dan $port = "465" adalah port default untuk ssl.

script ini berfungsi dengan baik di server local saya. silahkan mencoba :)

Posted by cecep

Filed under: PHP Leave a comment
Comments (5) Trackbacks (0)
  1. numpang tes script mas …

  2. kang mo tanya nih … di script paling atas sendiri ada “require_once “Mail.php”;”
    nah isi dari file mail.php sendiri itu kayak gimana ?

    dan file itu harus satu direktori ya ama file codingnya.

  3. require_once “Mail.php” tidak perlu sejajar dengan file kita, soalnya skrip itu udah diwakili sama Lib PHP yang terinstall dalam web server :) . saya juga ga tau isinya apaan :D CMIIW

  4. Thanks, mas..
    It’s work well on my script.


Leave a comment

(required)

No trackbacks yet.