Provides properties and methods for examining the collection of TimeStamp objects.
For a list of all members of this type, see TimeStampCollection Members.
System.Object
System.Collections.CollectionBase
MailBee.Mime.TimeStampCollection
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
When a mail message gets sent, it passes through one or more mail servers (gateways) during the delivery. Each mail server usually alters the message by adding a new Received header which contains the information about this server and time stamp of the moment when the message passed through this server. TimeStamp class represents the information extracted from a single Received header during parsing the message.
All TimeStamp objects are stored in TimeStampCollection which represents all Received headers of the message. You can access this collection using TimeStamps property.
The last TimeStamp object in the collection usually represents the moment when the message was received by the destination mail server. MailBee uses this TimeStamp object to obtain DateReceived value.
Note Some mail servers do not add Received headers. Thus, no time stamps will be available to the application. In this case, the only way to obtain the date when the message was received is to get Envelope of the message using IMAP and get the date from DateReceived property. Also, even if Received header itself is available, some of its fields may be missing.
Because TimeStampCollection object contains all the time stamps associated with the message, you can easily find out the full route of the message from its sender to its recipient, determine if there had been any delays during the delivery, etc.
This sample loads the message from .EML file and, for each of the time stamps, displays the information (if available) about the host which sent or relayed this message.
[C#] // To use the code below, import MailBee namespaces at the top of your code. using MailBee; using MailBee.Mime; // The actual code (put it into a method of your class). MailMessage msg = new MailMessage(); msg.LoadMessage(@"C:\Docs\TestMail.eml"); foreach (TimeStamp ts in msg.TimeStamps) { Console.WriteLine(ts.From); }
[Visual Basic] ' To use the code below, import MailBee namespaces at the top of your code. Imports MailBee Imports MailBee.Mime ' The actual code (put it into a method of your class). Dim msg As New MailMessage msg.LoadMessage("C:\Docs\TestMail.eml") For Each ts As TimeStamp In msg.TimeStamps Console.WriteLine(ts.From) Next
Namespace: MailBee.Mime
Assembly: MailBee.NET (in MailBee.NET.dll)
TimeStampCollection Members | MailBee.Mime Namespace | TimeStamps | TimeStamp