如何获取电子邮件的“日期”?
Posted
技术标签:
【中文标题】如何获取电子邮件的“日期”?【英文标题】:How to get the "Date" of an email? 【发布时间】:2012-09-24 09:42:06 【问题描述】:我创建了一个从邮件服务器获取电子邮件的应用程序。 我使用“System.Net.Mail.MailMessage”接收电子邮件。 现在我想获取收件箱中每封电子邮件的“日期和时间”。
【问题讨论】:
如果可以,请更具体。来自html标头的日期时间?还是您的邮件客户端收到它的日期? 我想我想要来自 html 标头的 DateTime。例如在 gmail 中,我想要在每封电子邮件中显示的 DateTime。 好吧,我不会声称要解释 Micah 已经没有的任何事情。使用 system.net.mail.mailmessage 类,您可以访问 Headers 中所需的所有信息。看看他的回答和他提供的链接。 【参考方案1】:你会想看看这里的电子邮件标题是一些文档
http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.headers.aspx
message.Headers["Date"];
【讨论】:
这个标题意味着只是一个相当特定格式的字符串,手动解析它是获取日期的最佳实践吗? 是的,这将作为字符串返回,然后您需要使用 datetime.parse 当心 - DateTime.Parse 并不总是能够解析可能在标题中返回的某些日期:例如。 “2017 年 6 月 20 日星期二 18:51:10 +0000 (UTC)”【参考方案2】:我检查了 MailMessageObject 并发现了这个:
Headers=HeaderCollection(5)
"Uid",
"DateCreated",
"DateReceived",
"Date",
"IsRead"
这意味着您总共可以使用三个选项。输出将是字符串格式。
message.Headers["DateCreated"];
message.Headers["DateReceived"];
message.Headers["Date"];
【讨论】:
以上是关于如何获取电子邮件的“日期”?的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 mongoose 中嵌套 JSON 文档中数组字段的日志日期获取最新日志记录