Cara menggunakan send mail in php

Kadang kala Anda ingin melakukan pengujian untuk mengirimkan suatu email dengan server lokal. Mengirimkan email dengan server localhost pada dasarnya adalah memungkinkan. Jika Anda mengirimkan pesan email melalui server web hosting dengan fungsi PHP mail() dapat langsung dieksekusi, namun berbeda dengan server localhost. Anda harus melakukan pengaturan terlebih dahulu agar fungsi mail() dapat bekerja dengan baik sehingga fungsi mail() dapat dieksekusi.

Di dalam PHP, terdapat sebuah fungsi untuk melakukan pengiriman email yaitu mail(). Fungsi ini tidak secara otomatis bekerja sendiri, namun memerlukan berbagai modul dan file lain yang berasal dari luar PHP untuk mengirimkan pesan email tersebut. File tersebut biasanya masih berada di dalam direktori server lokal. Untuk proses pengirimannya menggunakan sarana sendmail.exe dan sendmail.ini sebagai file konfigurasinya.

Berikut ini akan dijelaskan bagaimana cara melakukan setting dan konfigurasi pada server XAMPP dan server WAMP agar fungsi mail() dapat berjalan baik :

Penyetelan Konfigurasi XAMPP server

Langkah ke-1 : Anda perlu membuat fungsi mail() menjadi enable dengan melakukan konfigurasi ulang pada file php.ini. File tersebut terletak pada C:\xampp\php\php.ini.

Langkah ke-2 : Di dalam file konfigurasi php.ini, silahkan lakukan pencarian terhadap deretan kode di bawah ini :

1
2
3
4
5
6
7
8
9
10
[mail function]
; XAMPP: Comment out this if you work with an SMTP server like Mercuri
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from =
; http://php.net/sendmail-path
;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

Jika sudah ditemukan, silahkan ganti komponen konfigurasi file php.ini untuk pengaturan SMTP menjadi :

1
2
3
4
5
6
7
8
9
10
[mail function]
; XAMPP: Comment out this if you work with an SMTP server like Mercuri
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 465
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]
; http://php.net/sendmail-path
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

Pada sendmail_from = [email protected], silahkan isi dengan nama email anda pada google.com. Pastikan di depan sendmail_path tidak ada tanda semicolonnya ";". Tanda semicolon pada file php.ini mirip dengan tanda pagar "#" atau tanda "//" yang digunakan sebagai tanda komentar pada file yang bersangkutan sehingga baris yang diberi tanda tersebut tidak akan dieksekusi.

Langkah ke-3 : Silahkan masuk pada file konfigurasi sendmail.ini yang terletak pada C:\xampp\sendmail\sendmail.ini. Kemudian ganti beberapa komponen konfigurasinya sehingga menjadi :

1
2
3
4
5
6
7
8
[sendmail]
[mail function]
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
[email protected]
auth_password=xxxx
[email protected]

Pada [email protected] dan [email protected] silahkan diisi dengan nama email anda lalu pada auth_password=xxxx, silahkan isi dengan password pada email anda.

Penyetelan Konfigurasi WAMP server

Sebelum melakukan konfigurasi, hal yang perlu diperhatikan adalah secara default WAMP server tidak menyertakan file eksekusi fungsi mail() yaitu sendmail.exe dan file sendmail.ini sebagai file konfigurasinya. Untuk itu anda perlu melakukan download terhadap file tersebut. File tersebut diciptakan oleh Byron Jones yang sering disebut fake sendmail. Dengan tool tersebut, anda dapat melakukan pengaturan untuk mendapatkan autentifikasi dari SMPT eksternal sehingga fungsi mail() dapat berjalan baik. Silahkan klik tombol dibawah ini untuk mendapatkan file sendmail.zip

Download sendmail.zip

Kemudian ekstrak file sendmail.zip tersebut. Lalu silahkan buat folder dengan nama "sendmail" yang terletak di C:\wamp. Setelah itu letakkan semua file hasil ekstrak pada folder "sendmail"

Langkah ke-1 : Langkahnya hampir sama seperti konfigurasi pada XAMPP. Disini Anda perlu membuat fungsi mail() menjadi enable dengan melakukan konfigurasi ulang pada file php.ini. File tersebut terletak pada C:\wamp\apache\bin\apache2.4.9\bin\php.ini.

Langkah ke-2 : Di dalam file konfigurasi php.ini, silahkan lakukan pencarian terhadap deretan kode di bawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = you@yourdomain
; 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"

Jika sudah ditemukan, silahkan ganti komponen konfigurasi file php.ini untuk pengaturan SMTP menjadi :

1
2
3
4
5
6
7
8
9
10
11
12
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 465
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]
; 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"

Pada sendmail_from = [email protected], silahkan isi dengan nama email anda pada google.com.

Langkah ke-3 : Silahkan masuk pada file konfigurasi sendmail.ini yang terletak pada C:\wamp\sendmail\sendmail.ini. Kemudian ganti beberapa komponen konfigurasinya sehingga menjadi :

[mail function]
; XAMPP: Comment out this if you work with an SMTP server like Mercuri
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from =
; http://php.net/sendmail-path
;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
0
[mail function]
; XAMPP: Comment out this if you work with an SMTP server like Mercuri
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from =
; http://php.net/sendmail-path
;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
1

Pada [email protected] dan [email protected] silahkan diisi dengan nama email anda lalu pada auth_password=xxxx, silahkan isi dengan password pada email anda.

Uji Coba Fungsi mail() Secara Langsung

Tahap konfigurasi ulang sudah anda lakukan dengan baik. Tahap berikutnya adalah melakukan uji coba terhadap konfigurasi yang sudah anda lakukan. Untuk melakukan pengetesan, silahkan tulis kode dibawah ini :