Tuesday, August 19, 2014

Kirim email dari localhost wampserver

Ketika membuat web profesional kita kadang memerlukan fungsi mail() php berfungsi dengan baik pada localhost untuk menguji apakah sistem yang kita bangun sudah sesuai dengan apa yang kita inginkan sebelum web di onlinekan. fungsi mail() php kadang diperlukan untuk mengirim email masal pada user.

Setelah utak-atik apache dan php.ini pada wampserver saya, saya telah berhasil untuk menjalankan fungsi mail() php dari localhost menggunakan email gmail.

Berikut solusi untuk menggunakan fungsi mail() php dari localhost agar berjalan dengan baik.
  1. Aktifkan pengaturan Forwarding and POP/IMAP pada akun gmail. Pengaturan -> Forwarding and POP/IMAP -> IMAP Access:
    pop imap
  2. Aktifkan ssl_module.
    ssl module wampserver
  3. Aktifkan php_openssl, php_smtp, php_sockets.
    php extensions
  4. Jika tidak ada php_smtp di PHP extensions, download php_smtp.dll.
  5. Copy paste file php_smtp.dll ke dalam folder "C:\wamp\bin\php\php5.3.0\ext"
  6. Buka file PHP.ini dan cari tulisan "Dynamic Extensions", gunakan ctrl+F untuk mempermudah pencarian. Tambahkan ektensi berikut dibawahnya "extension=php_smtp.dll".
  7. Simpan file php.ini.
  8. Download file sendmail.zip. Ekstrak file sendmail.zip dan letakkan di direktori "C:\wamp\sendmail\"
  9. Buka file sendmail.ini, dan lakukan pengaturan file seperti contoh dibawah ini:
    smtp_server=smtp.gmail.com
    smtp_port=465
    smtp_ssl=ssl
    default_domain=localhost
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=[username]@gmail.com
    auth_password=[password gmail]
    pop3_server=
    pop3_username=
    pop3_password=
    force_sender=
    force_recipient=
    hostname=localhost
  10. Buka file php.ini, sesuaikan pengaturan :
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP =
    ; http://php.net/smtp-port
    smtp_port = 465
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ; sendmail_from = you@domain.com
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"
  11. Simpan pengaturan file sendmail.ini dan php.ini.
  12. Restart wampserver.