Clivern / Imap

:mailbox_with_mail: Access Mailbox Using PHP IMAP.
MIT License
31 stars 16 forks source link

Need add to imap_utf8 for header "From" and "To" infos. #30

Open MustafaBKLZ opened 1 year ago

MustafaBKLZ commented 1 year ago

Hello, I'm connecting Yandex Mailbox. I send my Yandex mail from Gmail. I get from info from header but my name is seening like this. =?UTF-8?B?TXVzdGFmYSBCw5xLw5xMTUVa?= < mustafabukulmez3446@gmail.com >

https://drive.google.com/file/d/1goNZj620mdRKRebSVxq1gjpMrxBirT_g/view?usp=share_link

I found getting header from class in ( src/core/Message/Header.php) and change like this. (I added imap_utf8() )

// old
$this->header['from'] = (isset($item_overview->from)) ?  $item_overview->from : false;
$this->header['to'] = (isset($item_overview->to)) ?  $item_overview->to : false;

//after change
$this->header['from'] = (isset($item_overview->from)) ?  imap_utf8($item_overview->from) : false;
$this->header['to'] = (isset($item_overview->to)) ?  imap_utf8($item_overview->to) : false;

After this change my name seen correctly Mustafa BÜKÜLMEZ < mustafabukulmez3446@gmail.com > https://drive.google.com/file/d/1K9kvrcpICK9A3500qwWT95PYHrfxxCkb/view?usp=share_link

I did make change in my project. I want let you know this issue. Maybe you want made this changes too.

Clivern commented 1 year ago

Hi @MustafaBKLZ,

How about doing this outside the Imap package code, do you think that would work too?

use Clivern\Imap\MailBox;

$mailbox = new MailBox($connection);

$messages = $mailbox->getMessages();

foreach ($messages as $message) {
    echo "Subject: " . $message->header()->get('subject');
    echo "<br/>";
    echo $message->body()->getMessage();
    echo imap_utf8($message->header()->get('subject'));
    echo imap_utf8($message->header()->get('from'));
    echo imap_utf8($message->header()->get('to'));
}