Я пытаюсь сосчитать все электронные письма от и электронной почты, но мой сценарий считает только письма из входящих,
кто-нибудь знает, как подсчитать все письма от почтового аккаунта, включая отправленные, спам, удаленные и т. д.
$mailcnf = "mail.office365.com:993/imap/ssl/novalidate-cert";
$conn_str = "{".$mailcnf."}INBOX";$username = '[email protected]';
$password = 'Woju6532';
$imap = imap_open($conn_str,$username,$password) or die('Cannot connect to Server: ' . imap_last_error());
echo $message_count = imap_num_msg($imap);
сначала используйте imap_list для просмотра списка всех доступных папок.
затем $ conn_str = «{«. $ mailcnf. «} $ mailbox» вместо почтового ящика
imap_num_msg должен вернуть количество писем в текущем почтовом ящике
Вы можете перебрать каждую папку и использовать imap_status () посчитать количество писем в каждой папке. Вот пример:
<?php
$username = '[email protected]';
$password = 'password123';
// Define the connection string:
$server = '{server.example.net:993/ssl}';
// Connect to the server:
$connection = imap_open($server, $username, $password);
// List the mailboxes:
$mailboxes = imap_list($connection, $server, '*');
// Loop through the mailboxes:
foreach($mailboxes as $mailbox) {
$status = imap_status($connection, "$mailbox", SA_ALL);
if ($status) {
echo "Mailbox: $mailbox\t\tMessages: " . $status->messages . "\n";
} else {
echo "imap_status failed: " . imap_last_error() . "\n";
}
}
// Close the connection:
imap_close($connection);
?>