TimeStamp Class
Provides properties and methods for examining a time stamp representing a moment when the message was received by a mail gateway or a mail server.
Inheritance Hierarchy
SystemObject
  MailBee.MimeTimeStamp

Namespace: MailBee.Mime
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.4 build 677 for .NET 4.5
Syntax
public class TimeStamp

The TimeStamp type exposes the following members.

Methods
  NameDescription
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 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.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyCode exampleBias
Gets the time offset in hours.
Public propertyCode exampleBy
Gets the name of the domain which received the message and added the time stamp.
Public propertyCode exampleDate
Gets the date and time when the message was received by the mail server.
Public propertyCode exampleDateAsString
Gets the string containing the date and time when the message was received by the mail server.
Public propertyCode exampleFor
Gets the e-mail address of the recipient as a string.
Public propertyCode exampleFrom
Gets the name and/or IP address of the source host from which the message was sent.
Public propertyCode exampleID
Gets the unique message identifier assigned by the mail server.
Public propertyIP
Gets the IPv4 address extracted from From part of the timestamp.
Public propertyCode exampleWith
Gets the name of the protocol or service which was used to transmit the message.
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.
Examples
This sample loads the message from .EML file and displays all the values extracted from the time stamps of 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(string.Format("Bias: {0}\r\nBy: {1}\r\nDate: {2}\r\nDateAsString: {3}\r\nFor: {4}\r\nFrom: {5}\r\nID: {6}\r\nWith: {7}",
        ts.Bias, ts.By, ts.Date.ToString(), ts.DateAsString, ts.For, ts.From, ts.ID, ts.With));
}
See Also