Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Декодирование сообщения из gmail
Форумы портала PHP.SU » PHP » Программирование на PHP » Декодирование сообщения из gmail

Страниц (1): [1]
 

1. pavelpol - 28 Сентября, 2017 - 18:14:30 - перейти к сообщению
Добрый вечер, столкнулся с такой проблемой: с помощью imap подключаюсь к почте, соединение успешно подключается, получаю количество сообщений, для каждого сообщения доступны от кого, кому, тема, время, НО само сообщение зашифровано. Прикрепляю сам код:

PHP:
скопировать код в буфер обмена
  1.          
  2. $msg_body = imap_fetchbody($mbox(получил от imap_open()), $i(номер сообщения), 1);
  3. $body = imap_8bit($msg_body);
  4. $b = base64_encode($body);
  5.  



В переменной $b хранится что то типа:
MEpmUXROR0EwTERRc3RHQjBZTFFzdEdE MExuUmd0QzFMQ0RRbmRDNDBMclF2dEM3 MExEUXVTRU5DZzBLMEp6Uml5RFF2dEdI MExYUQ0KdmRHTUlOR0EwTERRdE5HTExD RFJoOUdDMEw0ZzBKTFJpeURSZ05DMTBZ alF1TkM3MExnZzBML1F2dEMvMFlEUXZ0 Q3gwTDdRc3RDdw0KMFlMUmpDQkhiV0Zw Yk

Пробовал кроме imap_8bit еще imap_binary, imap_base64, imap_qprint, ничего не помогает. Заранее спасибо
2. Мелкий - 28 Сентября, 2017 - 19:05:14 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $body = imap_fetchbody($this->mbox, $id, 1, \FT_PEEK);
  2. $struct = imap_fetchstructure($this->mbox, $id);
  3. switch ($struct->encoding) {
  4.     case \ENCBINARY:
  5.         return imap_binary($body);
  6.     case \ENCBASE64:
  7.         return imap_base64($body);
  8.     case \ENCQUOTEDPRINTABLE:
  9.         return imap_qprint($body);
  10.     case \ENC7BIT:
  11.     case \ENC8BIT:
  12.     case \ENCOTHER:
  13.     default:
  14.         return $body;
  15. }

С одного своего проекта, вроде бы за полгода на трафике в несколько сотен писем за день от где-то 200 почтовых серверов не ошибался.
3. pavelpol - 29 Сентября, 2017 - 11:17:11 - перейти к сообщению
Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. $body = imap_fetchbody($this->mbox, $id, 1, \FT_PEEK);
  2. $struct = imap_fetchstructure($this->mbox, $id);
  3. switch ($struct->encoding) {
  4.     case \ENCBINARY:
  5.         return imap_binary($body);
  6.     case \ENCBASE64:
  7.         return imap_base64($body);
  8.     case \ENCQUOTEDPRINTABLE:
  9.         return imap_qprint($body);
  10.     case \ENC7BIT:
  11.     case \ENC8BIT:
  12.     case \ENCOTHER:
  13.     default:
  14.         return $body;
  15. }

С одного своего проекта, вроде бы за полгода на трафике в несколько сотен писем за день от где-то 200 почтовых серверов не ошибался.



Опять спасибо большое)

 

Powered by ExBB FM 1.0 RC1