$imap_server = '{imap.example.com:993/imap/ssl}INBOX';
$username = 'user@example.com';
$password = 'password';
// Подключаемся к почтовому серверу
$imap_connection = imap_open($imap_server, $username, $password);
// Выбираем нужный почтовый ящик
imap_select($imap_connection, 'INBOX');
// Получаем структуру письма
$mail_structure = imap_fetchstructure($imap_connection, $mail_id);
// Если письмо содержит альтернативные версии, выбираем нужную версию
if ($mail_structure->type === 1) {
$mail_body = imap_fetchmime($imap_connection, $mail_id, '1', FT_PEEK);
} else {
$mail_body = imap_fetchbody($imap_connection, $mail_id, '1', FT_PEEK);
}
// Если тело письма закодировано, декодируем его
if ($mail_structure->encoding === ENC_BASE64) {
$mail_body = base64_decode($mail_body);
} elseif ($mail_structure->encoding === ENC_QUOTED_PRINTABLE) {
$mail_body = quoted_printable_decode($mail_body);
}
// Выводим полученное тело письма
echo $mail_body;
// Закрываем соединение с почтовым сервером
imap_close($imap_connection);