Blog
Cara Mengirim Email Dari Localhost Menggunakan PHPmailer
- August 14, 2016
- Posted by: Nuris Akbar SST, M.Kom
- Category: Tutorial PHP MYSQL

Mengirim email adalah salah satu aktifitas yang sering kita gunakan sehari hari. sebenarnya bahasa pemograman PHP sudah menyediakan fungsi mail() yang merupakan build in function yang bisa digunakan untuk mengirim email tapi masalah nya fungsi ini tidak akan jalan kalau anda mencoba nya dari localhost.
sebagai solusinya anda bisa menggunakan library PHPmailer untuk belajar cara mengirim email dari localhost. selain mengirim email dalam bentuk text, PHPmailer juga mendukung fitur untuk mengirim file seperti gambar dalam email yang akan anda kirim nantinya.
karna pada percobaan kali ini kita akan menggunakan server SMTP punya google jadi ada beberapa hal yang perlu kita lakukan terlebih dahulu.
Langkah 1 : Turn On Less Secure Apps
- Silahkan login ke akun gmail anda.
- Buka halaman untuk settingan Less secure apps.
- Pada Access for less secure apps pilih Turn On.
Langkah 2 : Download & Konfigurasi PHPmailer
- langkah selanjutnya silahkan download library PHPmailer.
- setelah extrack nanti akan muncul folder PHPMailer-master.
- silahkan rename folder ini menjadi phpmailer lalu pindahkan ke folder htdocs.
- silahkan rename file gmail.phps menjadi gmail.php yang ada di dalam folder example
- lalu buka file gmail.php tadi dan silahkan edit sesuai dengan konfigurasi gmail kamu ( username, password, addAdress, AddReplyTo DLL )
<?php /** * This example shows settings to use when sending via Google's Gmail servers. */ //SMTP needs accurate times, and the PHP time zone MUST be set //This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC'); require '../PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 2; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'smtp.gmail.com'; // use // $mail->Host = gethostbyname('smtp.gmail.com'); // if your network does not support SMTP over IPv6 //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 587; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'tls'; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "[email protected]"; //Password to use for SMTP authentication $mail->Password = "yourpassword"; //Set who the message is to be sent from $mail->setFrom('[email protected]', 'First Last'); //Set an alternative reply-to address $mail->addReplyTo('[email protected]', 'First Last'); //Set who the message is to be sent to $mail->addAddress('[email protected]', 'John Doe'); //Set the subject line $mail->Subject = 'PHPMailer GMail SMTP test'; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //Attach an image file $mail->addAttachment('images/phpmailer_mini.png'); //send the message, check for errors if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
jika sudah selesai silahkan klik save dan buka web browser anda dan masukan http://localhost/phpmailer/examples/gmail.php pada kolom web address. jika berhasil maka akan muncul informasi Message sent!.
UPDATE : Mailer Error: Extension missing: openssl
jika anda menemukan pesan error ini itu artinya extension openssl di localhost anda belum aktif. cara mengaktifkan nya silahkan cari file php.ini yang terdapat dalam folder C:\xampp\php. silahkan buka file ini dan cari script :
;extension=php_openssl.dll
pada line 1010 pada file php.ini, lalu ubah menjadi seperti ini :
extension=php_openssl.dll
setelah itu silahkan restart apache anda dan coba lagi. sekian postingan kali ini dan jika ada pertanyaan yang ingin ditanyakan boleh posting di kolom komentar.
Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.
Author:nuris


Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.