Mail in PHP with XAMPP on localhost (windows)

NeverEndingFlashStories used Ask the Experts™

I am trying to set up mailing using php on my localhost.  
I am not really quite aware what my options are, but a quick search found me sendmail.exe (which hasnt been updated for years, but is included with XAMPP)

Currently, this is what I have :

text.php :
    $to      = '';
    $subject = 'About localhost';
    $message.="Please...let this work";
    $headers = 'From:' . "\r\n" .
        'Reply-To:' . "\r\n";
    $headers.= "MIME-Version: 1.0\r\n";
    $headers.= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers.= 'X-Mailer: PHP/' . phpversion();
    try {
        mail($to, $subject, $message, $headers);
    catch (mysqli_sql_exception $e){
        echo ("hahahahahaha");
        echo "well this didnt work out" . $e;

Open in new window

php.ini :

smtp_port = 465
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

sendmail.ini :

I have also modified the properties of sendmail.exe so that it is running under administrative mode, with compatibility setting for windows xp sp 3

The result I am getting on the page is as follows

UAC opens up, requesting permission to run sendmail.exe
once I give the permission, sendmail.exe opens up a blank command prompt window
The website keeps loading, waiting for some sort of response from sendmail.exe.

Then nothing happens. The sendmail.exe command prompt never changes.

Any suggestions?
Or maybe a different solution to sendmail?

Thank you
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Dave BaldwinFixer of Problems
Most Valuable Expert 2014

For what it's worth, Gmail has changed their login authentication and you will not be able to use that code to connect to Gmail.
Thanks, Dave. Any recommendation on what I need to use/do?
Dave BaldwinFixer of Problems
Most Valuable Expert 2014
The only external email client that supports Oauth2 that Google uses is the Current version of Thrundrbird.  Otherwise, you need to open Gmail in your browser.
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

Thanks Dave.
I am keeping the thread alive for a little longer, hoping someone can give me a way to make sending mail using localhost with xampp on windows to work .
So setting up mercury mail server to send mail to thunderbird works. I dont think this can work for other online email, but at least it lets me tests that my code works before i ever have to upload my files to the server.
I've requested that this question be closed as follows:

Accepted answer: 0 points for NeverEndingFlashStories's comment #a40850913
Assisted answer: 500 points for Dave Baldwin's comment #a40849625

for the following reason:

The tutorial i linked uses outlook express, which is not available anymore for windows 8. So I downloaded thunderbird, and set my pop3 and smtp server to and set all username and password to root.

It worked, if only for testing purposes. I am not sure I like it, but at the moment I dont have a better solution.
A simple and free solution for you would be to install hMail Server on your Windows machine, with hMail replacing "sendmail.exe".

hMail supports setting up your Gmail account as an SMTP relay.

Your PHP.ini file would change as follows:

    SMTP = localhost
    smtp_port = 25
    sendmail_path =

Then in hMail you add / localhost as a trusted IP.

Add your Gmail account to the
SMTP Relay
details in hMail (described in the documentation for hMail), and you are ready to go.

You can download hMail from

If you don't use it for this project, you might need it in the future for testing purposes.
Going to award points to a new comment.
Thanks guys!

For now, the mercury solution worked. I have spent a day and a half trying sendmail.exe and phpmailer to work to no avail for me through gmail, for something that should work flawlessly if i had done this through a real server, and not a windows localhost one. So i'll keep the suggestion with hmail at the back of my mind for my next project.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial