Mail in PHP with XAMPP on localhost (windows)

Hi,

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      = 'aaa@gmail.com';
    $subject = 'About localhost';
    $message.="Please...let this work";
    $headers = 'From: xxx@gmail.com' . "\r\n" .
        'Reply-To: xxx@gmail.com' . "\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);
        echo("hihihihihihi");
    }
    catch (mysqli_sql_exception $e){
        echo ("hahahahahaha");
        echo "well this didnt work out" . $e;
    }

Open in new window



php.ini :

SMTP = smtp.gmail.com
smtp_port = 465
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
mail.add_x_header=Off

sendmail.ini :

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


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
NeverEndingFlashStoriesAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
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.
0
NeverEndingFlashStoriesAuthor Commented:
Thanks, Dave. Any recommendation on what I need to use/do?
0
Dave BaldwinFixer of ProblemsCommented:
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.
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

NeverEndingFlashStoriesAuthor Commented:
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 .
0
NeverEndingFlashStoriesAuthor Commented:
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.

http://system66.blogspot.ca/2010/01/how-to-send-mail-from-localhost-with.html
0
NeverEndingFlashStoriesAuthor Commented:
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 127.0.0.1 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.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
grahamnonweilerCommented:
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 =
    mail.add_x_header=Off

Then in hMail you add 127.0.0.1 / 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 https://www.hmailserver.com/

If you don't use it for this project, you might need it in the future for testing purposes.
0
NeverEndingFlashStoriesAuthor Commented:
Going to award points to a new comment.
0
NeverEndingFlashStoriesAuthor Commented:
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.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Servers

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.