Sample code for 30+ languages & platforms
PowerShell

Get the Email Received Date/Time

See more Email Object Examples

Get's the date/time from the topmost Received header. The date/time of when you received an email may be different than the date/time stored in the Date header field, which if truthful, is the date when the email was sent.

The Received header field will look something like this:

Received: from mail.example.com (mail.example.com [99.255.255.99])
 by inbound-smtp.us-west-2.amazonaws.com with SMTP id 72ma443vs1g0o6vqd8erojkpss35s0dt32h323o1
 for admin@chilkatsoft.com;
 Wed, 25 Jul 2018 08:04:23 +0000 (UTC)
The date/time is the final part delimited by a semicolon.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$email = New-Object Chilkat.Email

$success = $email.LoadEml("qa_data/eml/p.eml")
if ($success -ne $true) {
    $($email.LastErrorText)
    exit
}

$sb = New-Object Chilkat.StringBuilder
$sb.Append($email.GetHeaderField("Received"))

# Replace semicolons with CRLF's
$numReplaced = $sb.Replace(";","`r`n")

$st = New-Object Chilkat.StringTable
$st.AppendFromSb($sb)

if ($st.Count -eq 0) {
    $("Should have at least one line..")
    exit
}

# The date/time string is the last line in the string table.
$sb.SetString($st.StringAt($st.Count - 1))
$sb.Trim()

$("Received date/time = " + $sb.GetAsString())