TimeStampCollection Class
Provides properties and methods for examining the collection of TimeStamp objects.
Inheritance Hierarchy

Namespace: MailBee.Mime
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.5.0 build 687 for .NET 4.5
Syntax
public class TimeStampCollection : CollectionBase

The TimeStampCollection type exposes the following members.

Methods
  NameDescription
Public methodClear
Removes all objects from the CollectionBase instance. This method cannot be overridden.
(Inherited from CollectionBase.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the CollectionBase instance.
(Inherited from CollectionBase.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnClear
Performs additional custom processes when clearing the contents of the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnClearComplete
Performs additional custom processes after clearing the contents of the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnInsert
Performs additional custom processes before inserting a new element into the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnInsertComplete
Performs additional custom processes after inserting a new element into the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnRemove
Performs additional custom processes when removing an element from the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnRemoveComplete
Performs additional custom processes after removing an element from the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnSet
Performs additional custom processes before setting a value in the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnSetComplete
Performs additional custom processes after setting a value in the CollectionBase instance.
(Inherited from CollectionBase.)
Protected methodOnValidate
Performs additional custom processes when validating a value.
(Inherited from CollectionBase.)
Public methodRemoveAt
Removes the element at the specified index of the CollectionBase instance. This method is not overridable.
(Inherited from CollectionBase.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyCapacity
Gets or sets the number of elements that the CollectionBase can contain.
(Inherited from CollectionBase.)
Public propertyCount
Gets the number of elements contained in the CollectionBase instance. This property cannot be overridden.
(Inherited from CollectionBase.)
Protected propertyInnerList
Gets an ArrayList containing the list of elements in the CollectionBase instance.
(Inherited from CollectionBase.)
Public propertyItem
Gets the TimeStamp object at the specified zero-based index in the collection.
Protected propertyList
Gets an IList containing the list of elements in the CollectionBase instance.
(Inherited from CollectionBase.)
Top
Remarks

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 first 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 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.

Examples
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.
// 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);
}
See Also