3

I have set up a PHP site that will be locally hosted. One function of this is to send an email with items from a shopping cart. When hosted online (for testing) the email() function worked perfectly sending email.

I'm now transferring the site to a local machine, and am unable to send email.

Originally the emails came from [email protected] which worked well, although I'd happily set up a gmail or similar to handle the sending.

I've read a few tutorials about setting things up and have firstly tried using sendmail and a gmail address.

I'm wondering if there's something simple I've missed in setting up the ini files.

I edited my php.ini file as follows:

[mail function]
 XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = smtp.gmail.com
 smtp_port = 587

 For Win32 only.
 http://php.net/sendmail-from
sendmail_from = [email protected]

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

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

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=Off

; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = "C:\xampp\php\logs\php_mail.log"

and then my sendmail.ini file as follows:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=password
[email protected]
2
  • Should the first line of [mail_function] be commented out? Commented Dec 2, 2013 at 12:10
  • newcoderslife.wordpress.com/2012/06/27/… Nice Tutorial using mail from localhost through mercury in XAMPP. Commented Dec 2, 2013 at 12:10

1 Answer 1

6

Try this

sendmail.ini

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=ssl
error_logfile=error.log
debug_logfile=debug.log
auth_username=[email]@gmail.com
auth_password=[email password]
pop3_server=
pop3_username=
pop3_password=
force_sender=[email]@gmail.com
force_recipient=
hostname=smtp.gmail.com

php.ini

[mail function]

SMTP = smtp.gmail.com
smtp_port = 465
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header=Off
Sign up to request clarification or add additional context in comments.

1 Comment

Don't forget to restart Apache

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.