I have the source code of a working multi-threaded SMTP Relay Server component for Delphi 4 that I would like extended as follows: 1. It currently allows attachments, I would like it extended to that when it encounters an ![]() tag in the body of the email, it should seemlessly embeds the graphic. A new event should be created which is triggered if the graphic is not found or is invalid. 2. It currently allows one DNS Server address. I would like it to allow a list of DNS addresses, using the first for the first email, the second for the next one and so on. If a DNS Servercan't be contacted or is very slow in responding then it should be skipped during that session. It would be useful if it tracked the average response time for each IP address. If none of the Servers can be connected to then it should trigger a new event. 3. I would like it to allow entry of a list of SMTP server address (plus login details if required), if delivery fails because the recipient smtp server does not accept mail from desktop mail servers, it should attempt to send through one of the specified smtp server(s). If it cannot connect to the first it should work its way through the list until it can send it or runs out of addresses to try. In the event "On Get Data" which retrieves the Subject and Body of the email, it should be extended to specify whether it should be initially sent via relay server or SMTP Server. 4. A new event should be created, which is called when there is no active internet connection (so that a message box can be displayed for example). At present it just throws an error. If a simple method could be added which would reliably prompt the user to connect to the internet that would be good. 5. Another event should be created which is called when the internet connection is dropped. 6. A Continue method should be added which allows continuation after either of the previous 2 events are triggered. (A cancel method should be created to clear existing threads). 7. There should be a new boolean property called Verify. When True, it will simulate sending the email without actually sending it, to check whether or not the email address is valid. The component must remain compatible with Delphi 4. All existing functions should continue to work.
## Deliverables
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.
## Platform
Delphi 4
## Deadline information
Must be completed by June 4th 2002.