Because using EAGetMail to retrieve emails from mail server needs several methods (GetMailInfos, GetMail, Delete), so it is hard to provide one asynchronous method like EASendMail to send email in one step.
For example, if you want to download email from server, you must use GetMailInfos method to get the email list from mail server at first.
However, you can use OnIdle event to prevent your GUI is blocked.
http://www.emailarchitect.net/eagetmail/sdk/?ct=mailclient_onidle_a http://www.emailarchitect.net/eagetmail/kb/vb.aspx?cat=8 Just call DoEvents in this event, then your GUI will not be froze, please refer to the sample in EAGetMail installation path.
Because VB6 doesn’t support multiple threads, if you want to retrieve emails from multiple accounts concurrently, you can create multiple forms and each form retrieves email for each account.
You can also use EAGetMail service, it supports retrieving emails from multiple accounts in background.
http://www.emailarchitect.net/eagetmail/sdk/?ct=mailclient_getmailsbyqueue_a http://www.emailarchitect.net/eagetmail/sdk/?ct=object_queue_a