I've been trying to send email using php. But I've been getting this error since...

PHP Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\www\IT3126Prac\Reservation\insertReserve.php on line 36

I know I have to configure something on php.ini. But I don't have the guts to configure it. Any alternatives if I could send email without configuring my php.ini??

4 Years
Discussion Span
Last Post by veedeoo


Can you tell us what do you have in your server?

  1. Apache?
  2. PHP version?
  3. Mercury mail?
  4. Send Mail?

Those things we need know..



I have Apache server... Oh and Im doing it on localhost. For now...


be sure to run your mail server..

then have this php code

ini_set("SMTP","");            # set the smtp server
ini_set("smtp_port","25");                # set port
mail($sendTo, $subject, $msg, $header);     #send mail

Edited by code739



try code739 recommendation first.. if it does not do the job.. try...

look inside your server's directory, look for a directory named send mail..and your local server should have a Mercury Mail in it or equivalent.

For Wampp and Xampp this directory is inside the installation dirctory, or the same level as the Apache directory.

Before posting your response, copy, paste to notepad, save as find.php in the htdocs dirctory of your localhost this code




Use your browser and point it to http://localhost/find.php ..

Locate "Loaded Configuration file" ... this will tell you which php.ini file is loaded or currently being use by your server.

Using a notepad or any suitable text editor.. open the php.ini file as shown by your phpinfo above.

IMPORTANT!!!! You need to have a gmail account for this work..

on your php.ini file as mentioned above, locate

  [mail function]


 SMTP = localhost
smtp_port = 25
sendmail_from = postmaster@localhost

change the above to

SMTP = smtp.gmail.com
smtp_port = 587
sendmail_from = YourAccountUserName@gmail.com


Second Step ... find the sendmail This is located or in the same level as the htdocs, apache, mysql, and phpMyAdmin..

Open the sendmail directory and locate the file named sendmail.ini

once again, find


change the above to this


JUst below the commented entries above, addd

auth_username= YourAccountUserName@gmail.com
auth_password= YourGmailAccountPassword

Save your changes on both files...
Re-start your server.. make sure this is done properly..

Test your php script.. it should be able to send email from your localhost using the gmail email account.

If you are on windows, make sure the firewall is not blocking the Mercury Mail or the mail service included in your local server..

I cannot show you how to send from generic mailer and I will never will not teach anyone how to do it, because of potential spammers are lurking all over the Internet.

Edited by veedeoo: info added

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.