Langsung saja, kadang website yang kita bangun membutuhkan fungsi untuk mengirim email. Misalkan email untuk memverifikasi pendaftaran, lost password, atau mengirim artikel terbaru ke user. PHP mempunyai fungsi mengirim email mail(). Sayannya, fungsi ini tidak bisa bejalan di Windows meningat windows tidak punya mail server.

Untuk mengatasi cara diatas, anda bisa menginstall mail server lokal seperti Argosoft mail server atau meletakannya di webhosting. Kedua cara tersebut cukup ribet. Saya akan mengajarkan cara sederhana mengirim email dengan memanfaatkan Server Gmail dan akun yang kita punya disana. Kelebihan teknik ini lebih sederhana, email yang kita kirim akan masuk INBOX, bukan masuk folder spam.

Pada praktik ini saya asumsikan anda memakai Windows dengan Server XAMPP. Saya sendiri memakai XAMPP 1.7.4. Ada dua langkah utama yaitu seting XAMPP agar bisa mengirim email dan membuat script kirim email itu sendiri.

Seting XAMPP

Seting XAMPP terbagi menjadi dua yaitu menginstall paket mail.php dari pear.net.php dan menambahkan support SSL ke php.ini.

Install paket mail.php

Buka command prompt dan pastikan anda didrektori C:\XAMPP\php ,jalankan perintah berikut

pear channel-update pear.php.net
pear install mail

Menambahkan support SSL ke PHP

Buka file php.ini XAMPP\php\php.ini pada bagian Windows Extentions (sekitar baris 950), tambahkan kode

extension=php_openssl.dll

Setelah itu restart Apache web server lalu buka http://localhost, Klik menu phpinfo().
pastikan pada bagian Registered Stream Socket Transports ada tambahan dukungan SSL seperti ini

tcp, udp, ssl, sslv3, sslv2, tls

Buat skript Kirim email

Script untuk kirim emailnya adalah sebagai berikut :

require_once "Mail.php";
$subject = "Test mail PHP";
	$body = "Test email dengan PHP dan GMAIL !!!";
	//mail($to, $subject, $body,$headers);
	//ganti baris ini dengan email yang dituju 
	$to = "email_yang_dituju@domain.com";
//ganti dengan emailmu /email resmi website
	$from = "emailmu_di_gmail@gmail.com";
	$host = "ssl://smtp.gmail.com";
	$port = "465";
	//emailmu untuk login k gmail 
	$username = "emailmu@gmail.com";
	
	//passwordmu waktu login gmail
	$password = "passwordmu";

$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> Email Gagal dikirim" . $mail -> getMessage() . "</p>");
}else{
echo "Email berhasil di kirim ";
}

What next?

contoh diatas hanyalah script sederhana untuk mengirim email. Anda bisa mengintegrasikan dengan script untuk mereset password, untuk memverifikasi email saat pendaftaran user, notifikasi pada ecommerce dan sebagainya, semua tinggal disesuaikan denan kebutuhan web yang sedang anda buat. Selamat mencoba!.

Penulis: Candra Adi Putra

CandraLab Studio adalah Software house di Yogyakarta, Indonesia yang fokus ke aplikasi Mobile (Android) dan Web . Hubungi saya di candraadiputra(at) gmail.com

Tagged on:     

36 thoughts on “Cara kirim email dengan PHP

  • 25 August , 2014 at 9:25 am
    Permalink

    Keren ah tutorialnya….Berhasil sama ane gan…thx ya tutorialnya…

    Reply
  • 25 July , 2014 at 7:50 am
    Permalink

    require_one(‘mail.php’) itu diambil dari mana gan?

    Reply
  • 8 July , 2014 at 8:03 pm
    Permalink

    Sip , thanks berat gan … nah 1 mau tanya 1 lagi bang .. kalo isi body nya kita mau buat html gmana ??

    Reply
  • 22 June , 2014 at 6:32 pm
    Permalink

    arigatou gozaimash sensei , really helpfull

    Reply
  • 18 June , 2014 at 9:57 pm
    Permalink

    mas mau tanya, saya udah coba install , tapi dia error
    Fatal error: Class ‘Mail’ not found in C:\xampp\htdocs\Mail.php on line 20
    line 20 : $smtp = Mail::factory(‘smtp’, array(‘host’ => $host,
    ‘port’ => $port, ‘auth’ => true,
    ‘username’ => $username, ‘password’ => $password));
    mohon pencerahannya mas

    Reply
  • 18 June , 2014 at 2:57 pm
    Permalink

    Bang mungkin perlu tambahin penjelasannya untuk masuk ke C:\XAMPP\php d command prompt nya
    Pertama buka command prompt, terus ketik C:
    Kedua ketik “cd XAMPP\php”
    Itu aja sih bang yang pasti bikin para newbie kebingungan

    Reply
    • 23 June , 2014 at 9:53 pm
      Permalink

      klo saya menjelaskan seperti itu,jadi tutorial command line dong? :). sebaiknya yang baru belajar php cari tutorial terpisah tentang command prompt terlebih dahulu

  • 13 May , 2014 at 10:46 am
    Permalink

    Alhamdulillah bisa juga ngirim email lewat php, makasi banyak mas :3. Ada yang mau saya tanyakan, smtp google itu khusus untuk pengguna gmail aja ? atau bisa dipake buat email selain gmail (ex : yahoo, hotmail, dll), makasi banyak mas sekali lagi :)

    Reply
  • 31 March , 2014 at 9:11 am
    Permalink

    Terima kasih pak Candra, tutorialnya sangat membantu saya sekali.
    semoga ilmunya berkah amiin :)

    Reply
  • 30 January , 2014 at 1:00 am
    Permalink

    gan kenapa ya yang ane error ” ‘pear’ is not recognized as an internal or external command, operable program or batch file.” pas instal paket mail.php ??
    mohon pencerahannya gan soalnya buat skripsi ni??

    Thanks gan

    Reply
  • 30 December , 2013 at 3:28 pm
    Permalink

    mas,kira2 website aku salah apanya ya, kok gak bisa kirim email…

    Reply
  • 4 December , 2013 at 1:41 am
    Permalink

    postingannya keren, cukup memuaskan..
    thank’s mas CAP

    Reply
  • 3 December , 2013 at 5:20 pm
    Permalink

    Oi… Terima Kasih artikel nya, berhasil dengan beberapa perubahan sedikit :)

    Reply
  • 21 November , 2013 at 8:31 am
    Permalink

    saya udah coba tapi hasilnya kaya gini
    Fatal error: Class ‘Mail’ not found in /home/a3092576/public_html/email.php on line 25
    baris 25 -> $smtp = Mail::factory(‘smtp’, array(‘host’ => $host,’port’ => $port, ‘auth’ => true, ‘username’ => $username, ‘password’ => $password));
    apa yang salah ya,,??

    Reply
  • 3 August , 2013 at 10:20 am
    Permalink

    terimakasih bang artikelnya bagus sekali, dan membantu pekerjaan saya.
    saya ingin menanyakan kalau menggunakan attachment file bagaimana ya??caranya, terimakasih

    Reply
  • 28 July , 2013 at 3:30 am
    Permalink

    kayaknya kopidarat nih,,
    scriptnya ngga jelas, baris pertama aja ngga tau apa yg di panggil.
    kalo ngga ngerti script ngga usah di posting..

    Reply
    • 28 July , 2013 at 3:56 pm
      Permalink

      1. kopi paste? boleh tau referensinya mana kalo kopi paste mas, itu script sudah ditest berkali kali dan dibuat sendiri
      2. coba baca artikelnya secara utuh, mungkin ente aja kali asal kopas code dari web saya terus ga jalan, terus komentar kalo artikelnya kopas
      3. include “Mail.php” bukan berbarti file Mail.php ada di folder yang sama dengan script yang kita buat. Mail.php adalah package yang kita install lewat perintah pear (baca tutorialnay secara lengkap masbro).
      4. dan buat yang si komentator ini dan yang lain, saya kasih analogi ya. Jika kamu baru belajar naik motor, terus jatuh atau nabrak, jangan bilang kalau motornya yang ga beres/motornya rusak, itu artinya ENTE itu harus banyak belajar lagi….
      5. kalau mau nuduh ini artikel dan kode kopas, saya minta referensi buktinya, semua orang mah bisa aja nuduh…buktinya please!
      6. biasanya model komentator gini ga sabar baca artikel, asal kopas code, kode ga jalan, terus bilang kalo artikelnya kopas..duh ane sebenarnya kasian banget ma ente..baru belajar php gini aja dah ga bisa… mungkin ente ga bakat jadi programmer mas bro

  • 25 July , 2013 at 4:34 pm
    Permalink

    Mas.. gini.. saya coba install “pear install mail” tp yang di balas
    :No release available for package “pear.php.net/mail

    kira” gimana solving problemnya yah mas?
    mohon pencerahannya :)

    Reply
  • 16 July , 2013 at 12:58 pm
    Permalink

    mas, sorry tanya skript yang di include (“Mail.php”). itu file.phpnya bikin sendiri apa bawaan dari Mail di folder C:\\xampp/php/PEAR ..???
    pencerahannya ya mas tq – irpan.ajax@gmail.com

    Reply
    • 11 June , 2013 at 1:49 pm
      Permalink

      konsepnya sama…yang penting edit php.ini terus install ikuti panduan selanjutnya, jangan fokus ke merek (xampp/apache2triad) dll… fokus ke pahahamannya

    • 21 June , 2013 at 10:36 am
      Permalink

      masih belom bisa gan, emailnya gk sampai hiks
      musti xampp kayaknya

    • 8 May , 2013 at 11:45 pm
      Permalink

      pastikan koneksi internet lancar..kalo ga, bypass aja langkah ini.. langsung test aja kirim emailnya

  • 30 April , 2013 at 11:58 pm
    Permalink

    mas saya pas “pear install mail” ko eror yah??
    ERROR: failed to mkdir C:\php\pear\tests\Mail\tests

    Reply
    • 3 May , 2013 at 8:44 pm
      Permalink

      buka command promptnya as administrator, kalau tetap ga mau, install xampp di drive D

  • 22 April , 2013 at 10:01 am
    Permalink

    situs saya pake platform wordpress selfhosting, tapi klo ada orang yang ingin daftar ke situs saya, gak bisa mengirim email passwordnya. gimana ya cara mengatasinya..>???

    Reply
    • 29 April , 2013 at 2:44 pm
      Permalink

      hubungi pihak hosting…tanyaain wehostingnya dukung email ga? kalao iya apa yang perlu di seting agar bisa jalan. itu dwebhostingnya bro

  • 17 April , 2013 at 12:05 pm
    Permalink

    Bagus sekali artikel ya, kalo ada contoh program ya minta email donk ? butuh nih buat refereisi skripsi. thnks

    Reply
  • 26 March , 2013 at 6:48 pm
    Permalink

    Terimaksih bang, artikelnya sangat membantu…

    Reply

Tinggalin komentar dong!