我正在尝试在 PHP/Zend 中创建一个系统,该系统可以收集来自各种不同帐户(主要是 POP 和 IMAP)的电子邮件,并将它们全部组合到一个系统中,以便进行分析(电子邮件的内容等)
我的计划是从帐户中读取电子邮件并将它们移动到本地,因为如果用户需要查看它们,我正在设计的系统将被调用以原始格式显示电子邮件。我已经使用 Zend_Mail_Storage_Writable_Maildir 创建了一个本地 Maildir 结构,并且我正在添加从每个帐户返回的消息。
我能够连接到各种帐户并检索电子邮件,并将它们添加到我的本地 Maildir 帐户而不会出现问题。我的问题是我似乎无法找到一个唯一标识符来分隔添加到 Maildir 帐户的每条消息(我计划将每封电子邮件的一些电子邮件信息与唯一标识符一起存储在数据库中)。
有谁知道如何获取最近添加到 Zend_Mail_Storage_Writable_Maildir 实例中的消息的唯一标识符?
我的基本代码如下:
// Set config array for connecting to an email account (Hotmail, gMail etc.)
$config = array(
'host'=> 'xxxx',
'user' => 'xxxx',
'password' => 'xxxx',
'ssl' => 'SSL',
'port' => 995);
// Connect to the account and get the messages
$mail = new Zend_Mail_Storage_Pop3($config);
// Connect to the local Mairdir instance so we can add new messages
$mailWrite = new Zend_Mail_Storage_Writable_Maildir(array('dirname' => '/xxxx/xxxx/'));
// Loop through the messages and add them
foreach ($mail as $messageId => $message)
{
// ADDING THE MESSAGE WORKS FINE, BUT HOW DO I GET THE UNIQUE
// IDENTIFIER FOR THE MESSAGE I JUST ADDED?
$mailWrite->appendMessage($message);
// FYI: $messageId seems to be the message ID from the originating account; it
// starts at one and increments, so this can't be used :(
}
感谢您提供的任何见解!
担