Outlook vs. Mail Servers

Question:

I am using your email ActiveX control and wanted to know if there is a way to update MS Outlook in the sent folder with the email I am sending with your control?

Answer:

Email clients communicate with email servers using a well-known protocol. Email clients do not generally communicate with other email clients. Here is a non-exhaustive list of email clients, servers, and protocols:

Email Protocols

  • IMAP (for reading email. Email and folders managed on server.)
  • POP3 (for reading email. No folders on server, email generally downloaded and managed locally.)
  • SMTP (for sending email)
  • MAPI (proprietary to Microsoft)

Email Clients and the protocols spoken

  • Microsoft Outlook (POP3, IMAP, SMTP, MAPI)
  • Mozilla Thunderbird (POP3, IMAP, SMTP)
  • Eudora (POP3, IMAP, SMTP)
  • Chilkat Email Component (POP3, SMTP)
  • Chilkat IMAP Component (IMAP)

Email Servers (and the protocols spoken)

  • Exchange Server – speaks POP3, IMAP, SMTP, MAPI
  • MailEnable – speaks POP3, IMAP, SMTP
  • IMail Server – speaks POP3, IMAP, SMTP

Email clients speak the client-side of a protocol.
Email servers speak the server-side of a protocol.

Email clients do not speak to other email clients.
Email client applications keep a local “database” of some sort (file-based or RDB-based) of email accounts, sent-email, and (for POP3) email organized in folders.
Email client components (such as Chilkat) provide the ability to communicate with email servers. The persistence of emails locally is generally left to the application.

Client-to-Server communications with Exchange Server are no different than with any other email server (except if MAPI is used, or if an Exchange-Server specific authentication method is used).

Microsoft Office provides an “Outlook API” to allow applications to communicate with Outlook local stores.

It makes no more sense for Chilkat to communicate with Outlook than it does for Mozilla Thunderbird to communicate with Outlook. (Because client-to-client communications don’t make any sense. Only client-to-server makes sense.)