1. Use normal windows buttons in the error window - the current ones look a little gimmicky, and I think using regular buttons would look more professional (just my opinion though).
2. It would be nice to see improved SMTP server sending code. The current implementation seems to offer no support for timeouts. This leads to several problems... dialup connections don't always perfectly sustain data transfer, and if it pauses even for a second it generally fails. Also, I have a firewall, and if I don't give the app permission to send data quick enough... it fails
madExcept.OwnerDrawButtons := false;
The SMTP sending code has a timeout of 7 seconds for each receive. It's strange that it seems to fail for you with only 1 second delay!
The SMTP client code should work through firewalls, I believe. However, I know that the SMTP server code needs some tweaking for firewalls. E.g. the DNS OS settings are ignored in the moment. I'll work on that quite soon.
You should set the options in a unit initialization. Of course the sooner you set them the better. So the most optimal solution would be to set the settings in a little unit which imports nothing but madExcept and which is one of the first units in the project's uses clause.