Sending email from localhost server xampp/sendmail

email, php, sendmail.exe

Solution

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

Problem

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 servername@hostname.co.uk 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 = shipimageemail@gmail.com ; 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 auth_username=shipimageemail@gmail.com auth_password=password force_sender=shipimageemail@gmail.com ```

Original source