Ketan Patel    13-May-2013

For this solution you requires sendmail.exe (Its a CLI executable  which accepts email from PHP, connects to an SMTP server and sends email). Download the and follow the steps given below:


Step:1 Configuration of sendmail file

  • First of all create a folder named sendmail in C:\wamp\
  • Now extract these 4 files: sendmail.exe, libeay32.dll, ssleay32.dll and sendmail.ini in the newly created folder.
  • Open the sendmail.ini file and you have to configure it as following

No need to specify values for these properties: pop3_server, pop3_username, pop3_password, force_sender, force_recipient.


Step:2 Gmail Account Setting

Now what you need to do is enable IMAP Access in your Gmail.In order to do this Go to : Gmail’s Settings > Forwarding and POP/IMAP > IMAP Access and enable it.

gmail imap setting


Step:3 Localhost Server Setting

Enable the ssl_module module in Apache server.

wamp server apache setting

Enable php_openssl and php_sockets extensions for PHP compiler:

wamp server apache setting


Step:4 Configuration of php.ini

Open php.ini from C:\wamp\bin\apache\Apache{your version}\bin and configure it. Now see the last line in the following code, remove prefix semicolon (;) from that line and provide the correct path.

[mail function]
; For Win32 only.
;smtp_port = 25 
; For Win32 only.
;sendmail_from =
; For Unix only.  Arguments are also allowed.default will be : "sendmail -t -i".
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"

Now restart WAMP server.


Step:5 File testing

Create a php file and write the following code in it.

$to      = '';
$subject = 'Testing sendmail';
$message = 'Hi, you received an email!';
$headers = 'From:' . "\r\n" . 
           'Reply-To:' . "\r\n" .
           'MIME-Version: 1.0' . "\r\n" .
           'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();

if(mail($to, $subject, $message, $headers))
 echo "Email sent successfully..!!"; 
 echo "Email sending failed";

Next you have to make appropriate changes in $to and $headers variables to set recipient, sender and reply-to address. Save it as sendmail.php. (You can save it anywhere or inside any sub-folder in C:\wamp\www). Open this file in browser and you are done..!!


Solutions of Some Known Issues:

  1. You have to disable the 2-steps-verification in Gmail if you are using GMail’s SMTP server to send email, otherwise you might get “Email sent” message but the email won’t get sent actually. (If you don’t know about 2-steps-verification, then don’t need to worry, it is disabled by default.) 
  2. Please make sure that path to the sendmail.exe contains no “space” (for example, “C:\Program Files\PHP\sendmail\”) otherwise Apache would not be able to locate it.
  3. If you are using Windows 8 Operating System,then make the following small change.
change smtp_ssl=ssl

in sendmail.ini and it will work on Win 8 too!


About Ketan Patel

A Web Developer having 7+ years of experience in web development. Worked with Laravel-Lumen, CakePHP, CodeIgniter, Opencart to make sites for startup companies and small businesses. Apart from blogging, he likes to read Novels, Listening music and Net surfing.