Mau aplikasi PHP kamu bisa mengirim email walaupun kamu menjalankannya di localhost dengan OS Windows? Mau tau caranya? silahkan teruskan membacanya
.
Untuk mengirim email menggunakan fungsi mail dari localhost yang perlu dilakukan adalah mengubah konfigurasi PHP (file php.ini) pada bagian [mail function] seperti berikut.
[mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = webmaster@localhost ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters =
Syarat untuk melakukan perubahan ini adalah kamu harus punya smtp server. Bagaimana jika tidak punya? Jika kamu punya website, kamu bisa menggunakan smtp server website kamu, misalnya mail.domain-anda.tld. Pada bagian SMTP ganti nilai localhost dengan mail server kamu, misalnya mail.domain-anda.tld, sedangkan pada bagian smtp_port ganti dengan port smtp server kamu, standarnya 25. Jangan lupa uncomment kedua baris tersebut dengan menghapus tanda titik koma (;) sehingga setingannya akan seperti berikut.
[mail function] ; For Win32 only. SMTP = mail.domain-anda.tld smtp_port = 25 ; For Win32 only. ;sendmail_from = webmaster@localhost ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters =
Simpan dan restart apache kamu dan selamat mencoba. Saya sendiri sudah mencobanya dan berhasil.
Cara yang lain yang bisa digunakan untuk mengirim email menggunakan php mail dari windows adalah dengan menggunakan fake sendmail yang dibuat oleh Byron Jones. Fake sendmail mirip dengan sendmail pada linux. Pertama unduh fake sendmail untuk windows di sini atau di sini, kemudian ekstrak. Lalu buka file sendmail.ini dengan text editor, kemudian cari baris smtp_server, smtp_port. Ganti nilai smtp_server, smtp_port dengan smtp server dan smtp port website kamu. Contohnya seperti berikut.
[sendmail] ; you must change mail.mydomain.com to your smtp server, ; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) ; emails delivered via IIS's pickup directory cause sendmail to ; run quicker, but you won't get error messages back to the calling ; application. smtp_server=mail.domain-anda.tld ; smtp port (normally 25) smtp_port=25
Kemudian ubah konfigurasi PHP (php.ini) pada bagian [mail function] pada baris sendmail_path. Isi nilai sendmail_path dengan “path\to\sendmail.ext -t”. Misalkan kamu menyimpan file sendmail.exe pada folder C:\sendmail\sendmail.exe maka isikan “C:\sendmail\sendmail.exe -t” pada sendmail_path. Contohnya sebagai berikut.
[mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = webmaster@localhost ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\sendmail\sendmail.exe -t" ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters =
Kemudian restart apache dan siap untuk dicoba.
Dengan menggunakan fake sendmail kamu bisa menggunakan smtp server nya google asalkan kamu punya account google mail (gmail). Caranya ubah nilai smpt_server menjadi smtp.gmail.com, smtp_port menjadi 587 dan juga pada baris auth_username dan auth_password isi dengan email dan password gmail kamu. Contoh konfigurasinya seperti berikut.
[sendmail] ; you must change mail.mydomain.com to your smtp server, ; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) ; emails delivered via IIS's pickup directory cause sendmail to ; run quicker, but you won't get error messages back to the calling ; application. smtp_server=smtp.gmail.com ; smtp port (normally 25) smtp_port=587 ; the default domain for this server will be read from the registry ; this will be appended to email addresses when one isn't provided ; if you want to override the value in the registry, uncomment and modify ;default_domain=mydomain.com ; log smtp errors to error.log (defaults to same directory as sendmail.exe) ; uncomment to enable logging error_logfile=error.log ; create debug log as debug.log (defaults to same directory as sendmail.exe) ; uncomment to enable debugging ;debug_logfile=debug.log ; if your smtp server requires authentication, modify the following two lines auth_username=youremail@gmail.com auth_password=password
Selamat mencoba, jika berhasil selamat ya, jika gagal mungkin ada yang salah dengan konfigurasinya atau kamu belum terhubung dengan internet, silahkan diperiksa dan dicoba lagi
28 Comments to “Mengirim email menggunakan php mail dari localhost”
Post comment
Tulisan Terakhir
- Taqobalallahu mina wa minkum
- Install Nginx menggunakan Nginxcp
- Error Install PHP Mongo Extension
- Cek Apakah Nilai Sebuah Field di Tabel MySQL, Integer Atau Bukan
- WordPress dan PHP 5.3, Permalink Page Blank
Arsip
- September 2011
- Juni 2011
- Mei 2011
- Maret 2011
- Agustus 2010
- Mei 2010
- Januari 2010
- Februari 2009
- Desember 2008
- September 2008
- Agustus 2008
- Juli 2008
- Juni 2008
- April 2008
- Maret 2008
- Februari 2008
- Januari 2008
Blogroll
- Batik Murah
- Buat Blog
- Cara Buat Blog
- Cara Membuat Blog
- Endoet
- Hosting Murah Indonesia
- Iklan Baris Gratis
- Iklan Gratis
- Iklan Gratis
- Membuat Blog
- Pusat Promosi
- Website Murah
Komentar Terakhir
- kocu pada Submit form sederhana dengan ajax menggunakan mootools
- nanang pada Plugin-plugin JQuery Yang Layak Dicoba
- elyosfimuchlis pada Plugin-plugin JQuery Yang Layak Dicoba
- mruteck pada Plugin-plugin JQuery Yang Layak Dicoba
- joinonptc pada Plugin-plugin JQuery Yang Layak Dicoba


gawibowo says:
oo ngono to
almuth says:
iyo ternyata mung ngono thok
oka says:
oh…. gtu ya. tapi saya masih bingung gimana caranya dapatin file php.ini,
kalo web na dah di upload gimana caranya ngubah file php.ini?
thank’s
almuth says:
@oka
kalo udah di upload gak perlu lagi nyeting2 udah otomatis bisa ngirim email. Kalo di shared hosting biasanya kita gak bisa akses php.ini, yang bisa akses hanya administratornya aja.
danang says:
mas ali….
keren keren……
zova says:
thx, akhirnya script php kirim email dr pc local gmail sy berjalan lancar
thx ya
yudy says:
Mas saya udah setting pake smtp gmail nya semua spt postingnya.
tp koq ga nyampe ke email tujuan ?
padahal dr source dibawah ini hasilnya email terkirim..
Gmana nih mas?
almuth says:
@Yudy
mungkin bisa dilihat di error.log-nya sendmail, fungsi mail di php returnnya emang kadang gak sesuai atau bisa juga emailnya masuk ke folder spam apalagi kalo penerimanya yahoo lebih sering masuk ke folder spam
Situs – situs penting 5 « Sakura’s Job says:
[...] atau di http://www.almuth.web.id/2009/02/14/mengirim-email-menggunakan-php-mail-dari-localhost.html http://www.ibdhost.com/contact/ [...]
ardi says:
kenapa tetep ga bs mas, aq ud coba pake cara mas, di script aq keterangannya berhasil tp aq cek di email tujuan ga ada email masuk, aq liat di debug_log keterangannya disconnect to smtp.gmail.com.
plis help me..
tono says:
Terima kasih banyak Mas Ali Mutohar karena tutorial yang diberikan ttg php mail dari localhost sangat membantu saya.
: )
trik adsense says:
still error…
risyanto88 says:
mas kalo di error.log nya muncul keterangan sbb aanya ya:
10/01/05 17:09:56 : Socket Error # 11001Host not found.
10/01/05 17:16:44 : Socket Error # 11001Host not found.
mohon penjelasanya dong
almuth says:
kalo errornya seperti itu, setting smtp-nya salah, atau host yang dimasukkan tidak ada atau tidak terkoneksi dengan internet.
Budi says:
tuh errornya gimana y
dah pening x
tolong dibantu y
ini w ubah dari send mail apakah udah betul?….
==========================================
smtp_server=smtp.gmail.com
smtp_port=587
auth_username= yuwie87@gmail.com
auth_password= xxx
error_logfile=error.log
==========================================
trus ada 2 file php.ini dan php5.ini
file mana yg diganti?…
ini skrip yg w ubah disini adlh sbg brkt:
==========================================
smtp_server=smtp.gmail.com
smtp_port=587
==========================================
dalam bahasa phpnya ditulis
tolong dibantu dimana letak kesalahnnya kok tidak bisa jalan
errornya:
Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\xampp\htdocs\thesis\Thesis\test.php on line 14
terima kasih banyak
almuth says:
untuk melihat file php.ini atau php5.ini yang digunakan bisa dilihat pada phpinfo()
kalo dilihat dari errornya smtp-nya masih mengarah ke localhost berarti masih ada settingan yang belum benar, mungkin pada file php.ini bagian di bawah ini belum benar.
kalo masih belum bisa, mungkin bisa coba Swift Mailer, yang merupakan program php yang bisa digunakan untuk mengirim email menggunakan smtp.
agik says:
mas saya sudah coba tp koq gk bisa y??
di eror.log nya isi nya kyk gini
10/05/08 10:54:39 : Message is missing sender’s address
10/05/08 10:58:55 : Message is missing sender’s address
padahal di fungsi mail nya gk ada variable header :
$ok = @mail($to, $subject, $message, $headers);
gmana ya mas??
chandra says:
mas almuth saya sudah mencoba untuk tes kirim email menggunakan account gmail saya berhasil, namun untuk yng kedua kalinya ketika saya test (test kirim email ke account yahoo saya) gagal, ada error : SSL is not available on this server.
bisa di bantu dimana letak salahnya ?
tx
almuth says:
@agik: di $headers isinya sudah ada “From: <email@doamin.tld>”-nya belum, kalo belum ada coba di tambahin
@chandra: extension open-ssl sudah terinstall atau belum? kalo errornya SSL is not available biasanya sih karena open-ssl belum terinstall, untuk melihatnya bisa menggunakan phpinfo()
Jojo says:
Kok tetep error ya mas ??
hehehehhe…
almuth says:
@Jojo: ya dipelajari lagi, soalnya saya juga dah lupa, dah lama gak pake window$ jadi sudah gak pernah ngutak-atik lagi.
Beni says:
Mas Almuth, scriptnya bisa jalan di Windows gak?
TQ.
almuth says:
dulu pas masih pake windows, saya coba bisa karena program sendmail-nya memang untuk windows.
gieseni says:
mas maw tanya ,
kalo untuk home edition service pack2 dukung pop3 ga ia?
soalnya saya udah ngikutin petunjuk mas,saya udah replace sendmail di xampp saya dan ganti pake yang sendmail.zip itu,
tapi tetep error function.mail
apakah saya harus bikin mail server di lokal dulu??
minta bantu mas,,
makasih
almuth says:
seingatku gak perlu bikin mail server, karena mail servernya pake sesuai yang ada di settingannya.
mungkin pada file php.ini, settingan sendmail_path belum di setting ke file sendmail.exe
Ikhsan says:
Ada yang pernah pakai PEAR::Mail?
dengan PEAR::Mail kita tidak perlu repot-repot mensetting ulang php.ini untuk merubah SMTP server. SMTP server bisa disetting pada saat eksekusi program
contohnya bisa dibaca pada artikel saya berikut
http://ikhsanaulia.blogspot.com/2010/11/mengirim-email-dengan-pearmail-php.html
semoga membantu
sudarsono says:
saya gunakan xampp 1.7.3 dan aktifkan Mercury .
tapi kenapa tak bisa kirim email
dengan kode sebagai berikut
‘=========
mail.php
‘———–
Form Email
<?
echo "
To:
From:
Reply-to:
Subject:
Message:
“;
?>
‘=========
send_mail.php
‘——-
Message:
$message
Number to send:
$number
Sending… “;
mail ($recipient, $subject, $message, $extra);
echo “done”;
?>
”========
php.ini
‘——————
[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 = postmaster@localhost
to : jkssbma@yahoo.com
from : jkssbma@gmail.com
reply-to : jkssbma@yahoo.com
kenapa tak ada email yang terkirim ke ?