PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Email
oleobject loo_Sb
integer li_NumReplaced
oleobject loo_St
li_Success = 0
loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
destroy loo_Email
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Email.LoadEml("qa_data/eml/p.eml")
if li_Success <> 1 then
Write-Debug loo_Email.LastErrorText
destroy loo_Email
return
end if
loo_Sb = create oleobject
li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder")
loo_Sb.Append(loo_Email.GetHeaderField("Received"))
// Replace semicolons with CRLF's
li_NumReplaced = loo_Sb.Replace(";","~r~n")
loo_St = create oleobject
li_rc = loo_St.ConnectToNewObject("Chilkat.StringTable")
loo_St.AppendFromSb(loo_Sb)
if loo_St.Count = 0 then
Write-Debug "Should have at least one line.."
destroy loo_Email
destroy loo_Sb
destroy loo_St
return
end if
// The date/time string is the last line in the string table.
loo_Sb.SetString(loo_St.StringAt(loo_St.Count - 1))
loo_Sb.Trim()
Write-Debug "Received date/time = " + loo_Sb.GetAsString()
destroy loo_Email
destroy loo_Sb
destroy loo_St