Я уже некоторое время использую php-imap-client и всегда отлично работал.Проблема в том, что в последнее время кажется, что сейчас происходит сбой при получении электронной почты из почтовых ящиков outlook / office365, и я не могу точно определить проблему.Насколько я знаю, это похоже на разрыв с imap_fetchbody()
, но это насколько я понимаю.
getMessages()
в принципе не работает, и мне было интересно, сталкивался ли кто-нибудь еще с этим и, возможно, можетпролить некоторый свет на решение, чтобы исправить это.
Такие вещи, как countMessages
и countUnreadMessages
работают нормально, но как только вы попытаетесь получить содержимое электронной почты, где оно ломается.
$overallMessages = $imap->countMessages();
$unreadMessages = $imap->countUnreadMessages();
Вот весь мой код
$mailbox = $row['imap_server_address'];
$username = $row['imap_username'];
$password = $row['imap_password'];
$encryption = Imap::ENCRYPT_SSL; // TLS OR NULL accepted
// Open connection
try{
$imap = new Imap($mailbox, $username, $password, $encryption);
// You can also check out example-connect.php for more connection options
}catch (ImapClientException $error){
echo $error->getMessage().PHP_EOL; // You know the rule, no errors in production ...
die(); // Oh no :( we failed
}
// Select the folder INBOX
$imap->selectFolder('INBOX');
// Count the messages in current folder
$overallMessages = $imap->countMessages();
$unreadMessages = $imap->countUnreadMessages();
// Fetch all the messages in the current folder
echo "This echos fine";
$emails = $imap->getMessages();
echo "This does not echo";
var_dump($emails);
Я могу нормально подключиться к серверу.Я могу выбрать INBOX, я могу получать общие сообщения, а также непрочитанные.var_dump($email)
ничего не производит.И в папке «Входящие» есть непрочитанные электронные письма.
Когда я echo
после $emails = $imap->getMessages();
, на экране ничего не отображается, поэтому что-то здесь ломается.