I'm reviewing the latest version of the Network suite specifically for POP3, IMAP, SMTP (all with and without SSL) and eventually exchange support.
Here's a couple of things that I noticed that would be nice to have or I couldn't find:
- The messageID is not the unique id of the message from the pop3 server and it doesn't appear that it's possible to get at the actual UniqueID on the server from the Message class. There should be a UniqueID property of the Message that stores this. Right now I'm having to do a second call for it which is obviously non-optimal.
- There is a date property, but that's of limited use because it could be set to anything by spamers and stupid mail clients. There also needs to be a received date, which is the final mail server's date/time that it received the message. (I rolled my own from the Received Header, but I'm sure this isn't optimal.)
- I received (I'm testing 10s of thousands of messages right now to make sure your control can decode them correctly) a message from outlook that didn't have a From header but did have a vFrom header. The .From of the message was null which is obviously not a good thing.
- The documentation in the help file that comes with it is weak. Yes I'm aware of the online stuff, but I like to just go from examples in the CHM file....
- Headers.Contains needs to have an override on it to take the string name of the header and returns true or false.
- I'm writting an IMAP part to this as well. To do so I have to be able to do sync. That means I need to be able to get all non-deleted messages from the last unique number i have on and I need to be able to get all deleted messages from the last unique number I have to 0 so that I can sync the inbox. Can I run these types of fetches and get a collection of unique numbers that I should fetch/get more information on?
- How would you suggest dealing with someone changing a message's folder on the client side and syncing that change? How about the other way on the server side? It should remove it, but I don't know how I can handle this. It's like the IMAP protocol just doesn't deal with this well....
- Do I understand the documentation correctly that this control can connect to an exchange server directly without having Outlook installed via webdev and get mail etc. like IMAP?
Thanks for the info! Any guidance on the IMAP sync part that you can provide would be great. I have yet to see an optimal one (i.e. apple's iphone implimentation sucks) so I'm trying to be highly bandwidth efficient and yet, still get all of the changes.