Mengirim Email dari Localhost Menggunakan SMTP Google

Karena ane cukup lama mencari artikel tentang mengirim email dari localhost menggunakan SMTP Google, dan pada akhirnya ketemu juga gabungan keyword yang menuntun ane menuju artikel yang ane cari. Jadi, ane putuskan untuk ane tulis diblog ane, ya selain untuk mengupdate blog ane, juga untuk memperbanyak artikel serupa. Oke langsung saja kita mulai langkah-langkahnya...
Tutorial ini hanya diperuntukkan bagi pengguna windows dan pengguna xampp. Bila kamu menggunakan aplikasi selain xampp, bisa menyesuaikan, karena ane kira tidak jauh berbeda.
Bila saat ini kamu sedang menggunakan fitur mail() pada localhostmu dan masih mengalami error, silahkan ikuti langkah-langkah dibawah ini...

Pertama: download dulu Stunnel (download disini) setelah itu segera install
Kedua: siapkan email Gmail (karena kita menggunakan fasilitas email dari google)
Ketiga: buka file-file ini dan bersiaplah mengeditnya, ane sarankan buka dengan notepad++
  php.ini           > lokasi C:\xampp\php\php.ini
  sendmail.ini > lokasi C:\xampp\sendmail\sendmail.ini
  stunnel.conf > lokasi C:\Program Files\stunnel\stunnel.conf
lokasi bisa berubah sesuai tempat install kamu

oke, kita edit php.ini terlebih dahulu...
Gunakan fitur find (Ctrl+F) untuk pencarian lebih mudah
Edit dibagian ini saja....
=========================
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; 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 =
=========================

Sekarang edit sendmail.ini
ganti tulisan berwarna merah sesuai akun Gmail kamu

=========================
[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=localhost

; smtp port (normally 25)

smtp_port=25

; 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
;jika gak pake google apps:
default_domain=gmail.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=webmaster@gmail.com
auth_password=
password

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines


;pop3_server=
;pop3_username=
;pop3_password=

; to force the sender to always be the following email address, uncomment and
; populate with a valid email address. this will only affect the "MAIL FROM"
; command, it won't modify the "From: " header of the message content

;force_sender=webmaster@gmail.com

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required

;hostname=
=========================

Bagian terakhir adalah mengedit stunnel.conf
perhatikan tanda titik koma

=========================
; Certificate/key is needed in server mode and optional in client mode
; The default certificate is provided only for testing and should not
; be used in a production environment
cert = stunnel.pem
;key = stunnel.pem

; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS

; Authentication stuff
;verify = 2
; Don't forget to c_rehash CApath
;CApath = certs
; It's often easier to use CAfile
;CAfile = certs.pem
; Don't forget to c_rehash CRLpath
;CRLpath = crls
; Alternatively you can use CRLfile
;CRLfile = crls.pem

; Some debugging stuff useful for troubleshooting
debug = 7
output = stunnel.log

; Use it for client mode
client = yes

; Service-level configuration

[pop3s]
accept = 995
connect = 110

[imaps]
accept = 993
connect = 143

[ssmtp]
accept = 465
connect = 25

;[https]
;accept = 443
;connect = 80
;TIMEOUTclose = 0

[smtpg]
accept = 127.0.0.1:25
connect = smtp.gmail.com:465

; vim:ft=dosini
=========================

Oke, bagian editing telah selesai, untuk menyempurnakan hasilnya, segera restart komputer kamu. Setelah itu, test script mail() yang sudah kamu buat sebelumnya. Eits, tapi jangan lupa untuk menjalankan stunnel setelah selesai di restart.
Email akan terkirim menuju alamat email yang kamu tulis, dan akan tertulis pengirimnya dari akun Gmail yang tadi kamu tulis (tulisan berwarna merah).
Nah, cukup sekian sharing ane kali ini, semoga berguna bagi kamu yang sedang membutuhkan cara diatas...

Homepage resmi Stunnel

Komentar

Amad Yasin mengatakan…
@Faidzal
stunnel yang ada disini merupakan paket instalasi, dan berasal dari situs resminya.
Agar lebih mudah, coba dicek di start menu - stunnel
seharusnya ada pilihan untuk edit stunnel.conf

walaupun namanya stunnel.con
coba liat isinya, jika isinya mirip dengan yang ane tulis, berarti file itulah stunnel.conf

untuk php.ini adalah file yang berasal dari aplikasi server seperti xampp,
jadi tidak mungkin tidak ada, karena itu merupakan file penting,
coba teliti kembali dalam mencari php.ini
Anonim mengatakan…
gan nubi numpang nanya ya.. :D

ini khusus bwt windows ya gan?? tp qo yg di file php.ini yang di edit yg for Unix??

trz ane udah nyoba persis ma yg agan ajarin.. tp muncul error gini gan :
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\cobaemail\barunyoba.php on line 2
email gagal terkirim

mohon bantuannya gan.. :D
Amad Yasin mengatakan…
yg bagian php.ini
maksudnya untuk pengguna Unix ditambah sendmail -t -i
sedangkan untuk pengguna windows cukup "C:\sendmail\sendmail.exe -t"

mungkin yg error ada pada file barunyoba.php pada baris 2,

kemungkinan script mailnya ada yg salah, coba teliti dulu...

maaf baru ane bales, karena baru sempet balas komen...
humasptsp mengatakan…
mohon pencerahannya :

Warning: mail() [function.mail]: Could not execute mail delivery program 'C:\Inetpub\sendmail\sendmail.exe -t' in C:\Inetpub\wwwroot\kirimemail.php on line 35
Maaf Email tidak Dapat dikirim.
Amad Yasin mengatakan…
@humasptsp >
sudah mengikuti yang ada diatas ?

script pada baris 35 apakah itu script mail() ?
Anonim mengatakan…
saya sudah mencoba, tapi kok tidak bisa terkirim padahal di aplikasi tertulis sukses,,,,
saat saya cek stunnel ada tulisan
connect_blocking: s_poll_wait 173.194.79.109:465: TIMEOUTconnect exceeded
Amad Yasin mengatakan…
ane kurang tau persis,
tapi kemungkinan masalahnya pada koneksi
Anonim mengatakan…
sudah di coba ..., bisa terkirim walau ada beberapa bagian yang harus di sesuaikan.

thanks info nya
djiesoft team mengatakan…
boleh dicoba nih.,,,, thanks ya bos..
tomcatz mengatakan…
Terimakasih gan mau langsung ane praktekin nih, :D
novriadi mengatakan…
Mantap ni kayaknya gan
ke Novriadi.info ya , programing web dan Blog

Postingan populer dari blog ini

BlueSoleil 5.4.277.0

Online YM Generator Blogger

Scan Situs Asing