A few weeks ago I decided I would like to try and write my own SMTP server in VB.NET – this would include the ability to receive SMTP messages from other SMTP servers, as well as being able to send emails via SMTP to any given email address.
I also decided that I would make this SMTP server class a completely free public download that other developers are free to use in their own applications as they wish. Upon completion of the first stable release version I will make the source code available on my web site as well. Updates on my progress with this project will be added to this blog on a regular basis, so watch this space.
The first post, which will provide details of how this class will work and what exactly it will do, should be up later today.
It would be interesting to add a method to check if the email address exists. Would it be possible to query the email address domain postmaster and find that out?
It would be neat method to your class.
I dont think there is any reliable way to do that with SMTP – there is the VRFY command but not all servers support this for security reasons. Also, some servers will just accept emails regardless of whether or not the user exists and will just deliver it to a ‘catch all’ mailbox for example. Even attempting to submit an email to an address that doesnt exist might not cause an error (I just tested it with our exchange server and it accepted an email to an invalid address without a problem). So unfortunately I dont think there is any way I can add that feature to my class – sorry!
Also the VRFY command could be used to get a list of all the users on the exchange server. Spammers paradise.