iPhone 上的电子邮件日期错误 (imap_append)



我正在使用PHP Imap库将邮件从一个imap服务器复制到另一个服务器。见 http://www.php.net/manual/en/ref.imap.php

我的脚本工作正常,除了邮件日期有问题。

如果我在MS Outlook中连接到新的imap帐户,则日期是正确的,但是如果我使用iPhone连接到同一帐户,则电子邮件日期将显示为今天的日期(复制过程的日期)

所以我的问题是:iPhone如何从电子邮件标题中检测电子邮件日期,以及如何在使用imap_append时使标题正确?

它可能正在使用 IMAP 服务器INTERNALDATE字段,该字段在服务器上创建邮件时由服务器维护。

对于APPEND命令,RFC 指示:

  If a date-time is specified, the internal date SHOULD be set in
  the resulting message; otherwise, the internal date of the
  resulting message is set to the current date and time by default.

您是否有接口来提供要附加的时间戳?

编辑

是的,imap_headerinfo可用于:

$headerinfo = imap_headerinfo($source_IMAP, $message_number);
$internal_date=date('d-M-Y H:i:s O',$headerinfo->udate);

imap_append ( $imap_stream , $mailbox , $message , $options , $internal_date);

我已经测试了您的解决方案并且它有效,iPhone 上的日期现在是正确的。

最新更新