Thursday, April 17, 2014

Send email using Xampp from localhost


I always had problem for testing my PHP codes which were include mail function. I used to upload them on server to test them. But today I decided to find the way to send the mail with PHP using XAMPP from localhost and I found the solution. Then I decided to share this simple tip with you guys. Before we start the procedure you need to have an email address on a running mail server such as Yahoo, Gmail or any other server that you have access to configuration of them as well, because we need their port number.

  1. First go to the path that you installed Xampp application. By default it is "C:\xampp\".
  2. Then we need to find the php.ini file which contains the configurations belong to PHP. This file by default is located at "C:\xampp\php\php.ini". Open it using any text editor like notepad.
  3. Using search in the editor try to find "sendmail_path". There should be two of them. One is commented using a ";" (semicolon) in the beginning of the line , and the other one is not commented. Comment the one that is active and active the one is commented. After the edit it should looks like below... (Similar)
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    ; XAMPP: Comment out this if you want to work with mailToDisk,...
    ;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
  4. Save the php.ini file and restart the Apache process. This is necessary for the configuration to take place.
  5. Next navigate to the sendmail directory. By default it should be located at "C:\xampp\sendmail" and open the "sendmail.ini" in the text editor.
  6. Now we need to set the configuration for the mail server. For this case I chose Gmail. The SMTP address of Gmail is: "smtp.gmail.com" and the SMTP port for Gmail is "587".
  7. Find "smtp_server" and write the Gmail SMTP address in front of that.
  8. Find "smtp_port" and write the Gmail SMTP port in front of that.
  9. Scroll down , you should be able to see "auth_username" & "auth_password". Put your gmail username in front of  auth_username and put the password in front of auth_password .
  10. Save and now you are good to send mail from local host. 
  • Note that your PHP mail function should have "from" header,otherwise your mail will not go through. 
  • Also remember the that the destination will receive the mail from your Gmail address not from the address you put in your PHP code.
  • The following code is a simple example of PHP script which can send a successful mail.
<?php
$to = "destinationAddress@Anywhere.com";
$subject = "The mail subject goes here";
$content= "And this is the mail content!";
$headers = "From:Me@Mywebsite.Com\r\n";

mail($to,$subject,$content,$headers);
?>

THIS MAY NOT WORK ON SOME OF WINDOWS 8 OR 8.1 DUE TO THE SECURITY LIMITATION.
Please make sure your firewall, antivirus or other security software is not stopping the sendmail.exe to communicate with internet!

7 comments:

  1. You can insert email subscription box and if they provide their email only then they will download that eBook or demo version software. Email List

    ReplyDelete
  2. Your articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up! visit this site

    ReplyDelete
  3. I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
    find phone

    ReplyDelete
  4. thanks for this usefull article, waiting for this article like this again. email search

    ReplyDelete
  5. Your blog has chock-a-block of useful information. I liked your blog's content as well as its look. In my opinion, this is a perfect blog in all aspects. Email Login Tips

    ReplyDelete
  6. thank you for this such a good information about hotmail email login on www.hotmail.com

    ReplyDelete

Social Networks Sharing