不确定我用来处理 imap 的库是否正常工作。使用 telnet 或 openssl 不断调整查询有点乏味。也许有某种工具可以使这项工作在准备好的查询等方面变得更容易?
我们遇到一个问题,客户端程序正在访问 IMAP 服务器,但看不到任何内容,但邮箱中有邮件。最终,这是一个有毒的 DNS 问题,我不会在这里讨论,但是......一路上我们使用 PHP 7.3.11 和这个脚本来查看邮箱的内容等。这应该是一个很好的起点。它使我们能够证明 IMAP 服务器运行正常,并且我们可以一直看到它在做什么。
我们可以返回并调整脚本以查看不同的结果,等等。
这是一个只读脚本。您可以针对您个人有权访问的任何邮箱运行它并查看它的作用。
<?php
// Email credentials
$email = '[email protected]';
$password = 'password';
$server = '{imap.server.com/novalidate-cert/notls:993/ssl}INBOX.3 Followup';
// Connect to the IMAP server
$mailbox = imap_open($server, $email, $password);
if ($mailbox)
{
// Search for all emails
// $emails = imap_search($mailbox, 'ALL');
$emails = imap_search($mailbox,'ALL');
if ($emails)
{
// Iterate through each email
foreach ($emails as $email_id)
{
$header = imap_headerinfo($mailbox, $email_id);
$date = date("Y-m-d H:i:s", strtotime($header->date));
$subject = $header->subject;
echo "Email ID: $email_id\n";
echo "Date: $date\n";
echo "Subject: $subject\n";
echo "----------------------------------\n";
};
}
else
{
echo "No emails found.\n";
};
// Close the mailbox
imap_close($mailbox);
}
else
{
echo "Failed to connect to the mailbox.\n";
};
?>
谢谢, 大卫
IMAP 的语法非常不规则(就服务器返回的数据而言)。没有提供任何花哨的工具,例如预制响应解析。如果有的话,你也可以直接使用它:)。