Я использую функцию imap PHP для получения писем из почтового ящика POP3 и вставки данных в базу данных MySQL.
Вот код PHP:
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect: ' . imap_last_error());
$emails = imap_search($inbox,'ALL');
if($emails)
{
    $output = '';
    rsort($emails);
    foreach($emails as $email_number) 
    {
        $header=imap_headerinfo($inbox,$email_number);
        $from = $header->from[0]->mailbox . "@" . $header->from[0]->host;
        $toaddress=$header->toaddress;
        $replyto=$header->reply_to[0]->mailbox."@".$header->reply_to[0]->host;
        $datetime=date("Y-m-d H:i:s",$header->udate);
        $subject=$header->subject;
        //remove the " from the $toaddress
        $toaddress = str_replace('"','',$toaddress);
        echo '<strong>To:</strong> '.$toaddress.'<br>';
        echo '<strong>From:</strong> '.$from.'<br>';
        echo '<strong>Subject:</strong> '.$subject.'<br>';
        //get message body
        $message = (imap_fetchbody($inbox,$email_number,1.1)); 
        if($message == '')
        {
            $message = (imap_fetchbody($inbox,$email_number,1));
        }
}
Это прекрасно работает, однако на некоторых электронных сообщениях в теле я получаю = между словами или =20 между словами. И в других случаях электронные письма будут просто пустыми, даже если они не пустые при отправке.
Это происходит только при появлении определенных писем.
Как я могу обойти это и просто сделать письмо полностью открытым текстом?