- a developer's blog

Testing PHP send Mail on WAMP/XAMPP server without SMTP services

Installing a mail server on local servers like XAMP & WAMP can be quite a chore.

It involves tweaking your mail server settings in the php.ini file. Additionally ou need a SMTP server for which you have to rely on SMTP mail servers of third parties like Google, Yahoo etc.  Many a times the communication does not occur the way it should. Alternatively, people install PEAR’s Mail package which defines an interface for implementing mailers backend for the PHP’s native mail() function which again is too much of an effort. (I have tried configuring Pear on my localhost and it was a real pain reading through all the documentation)

For people who want a simpler solution, there is fortunately a very simple program from toolheap,  that makes it a breeze.

Though this program will not send actual mails, it very effectively simulates an actual SMTP server – you can read mails in outlook, any local mail application and even in notepad.

When all you need is to test if your PHP code is sending mails and debug mail sending features of your localhost, this is one tool which you will surely like.

Steps to configure and check mails

1) Download and Install the Test Mail Server Tool  which emulates SMTP server on windows platform.

2)  Once installed simply click on the server shortcut icon to run the mail server as you do for other servers like Wamp or XAMPP.

3) Now every time you send a mail with PHP script, it creates a file containing the text of the mail in a folder on your desktop.(You can configure the folder where you want to save the files)


4) The email file is stored with the extension .eml and can be opened and read in notepad or in outlook.Each e-mail is stored in separate file.

5)The program listens on localhost on a SMTP port (usually 25). This port number worked right off the bat for me and should work fine in most of the cases( as per the authors of the program).