skip to Main Content
Menu

Enabling SMTP with your GMAIL account on your localhost

1. Open the PHP.ini file. (Most likely found in C:xamppphpphp.ini or whichever drive you installed your XAMPP)

2. Search for the [mail function]

3. Change the settings to –[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 =

; For Unix only.  You may supply arguments as well (default: “sendmail -t -i”).
; http://php.net/sendmail-path
sendmail_path = “”C:xamppsendmailsendmail.exe” -t”

(Removing the ; enables the function.)

4. Save it and restart the Apache.

5. Open the sendmail folder (Found in the XAMPP folder thus C:xamppsendmail)

6. Chances are, the bundle probably comes with a weird combination of files and codes. So, to save all the hassle of troubleshooting afterwards, clear all the files in the folder.

7. Download a new version of the sendmail.zip from http://glob.com.au/sendmail/

8. Unzip the entire folder into the original sendmail folder – C:xamppsendmail

9. Open the sendmail.ini (C:xamppsendmailsendmail.ini  — found in the same folder)

10. Change the setting to the following — (I’ll post the entire file so no one gets confused from the cuts)

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS’s “pickup” directory.  (generally C:InetpubmailrootPickup)
; 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=465

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

smtp_ssl=auto

; 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=USERNAME@gmail.com  
auth_password=PASSWORD

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines.  do not enable unless it is required.

;pop3_server=
;pop3_username=
;pop3_password=

; force the sender to always be the following email address
; this will only affect the “MAIL FROM” command, it won’t modify
; the “From: ” header of the message content

force_sender=USERNAME@gmail.com

; force the sender to always be the following email address
; this will only affect the “RCTP TO” command, it won’t modify
; the “To: ” header of the message content

;force_recipient=

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

The bolded text are the ones that requires changes. Enter your google username and password where appropriate. I enabled the force_sender to be my mail because changing the php.ini is such a pain. You can alternatively choose to change the Mail from setting in the PHP.ini instead.

11. After this, all should be good. Run a mail script and send out the mail. It should work.

12. If this doesn’t work try enabling -> extension=php_openssl.dll in php.ini.  After repeatedly doing the above, I couldn’t get my setup to work. Only after enabling openssl did the whole thing work..

thanks to : http://coded-words.tumblr.com/post/6936532107/configure-gmail-as-smtp-in-xampp-to-send-mail and http://stackoverflow.com/questions/3477766/phpmailer-smtp-error-could-not-connect-to-smtp-host

Alphonse

Editorial Staff at ETN Multimedia is led by Alphonse Tan. Page maintained by Alphonse Tan

Back To Top