Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Работа с IMAP: получение непрочитанных писем с атачментами и приведением заголовков к UTF-8 (lazutov)
Author Message
lazutov
Заглянувший



Joined: 07 Feb 2009
Posts: 10
Карма: 2
   поощрить/наказать


PostPosted: Sat Oct 24, 2009 8:35 pm (написано за 5 минут 25 секунд)
   Post subject: Работа с IMAP: получение непрочитанных писем с атачментами и приведением заголовков к UTF-8
Reply with quote

Цель: Работа с IMAP: получение непрочитанных писем с атачментами и приведением заголовков к UTF-8.
Средства: php5_imap, php5_mbstring, hands, brain, php.net
Результат: прикреплен.

Большая часть скрипт написана год назад, сейчас привел к ООП-виду, хотя зачем, не понятно, написана инструкция (коммент в начале файла)

TODO: исправить чтение атачментов с одинаковыми именами;

Надеюсь, что научной общественности он принесет больше пользы, чем мне :)
Code (php): скопировать код в буфер обмена
// так подрубаемся к яндексу $host="{imap.yandex.ru:143/imap/notls}"; $login="yandexuser"; $password="somepwd";
// так к gmail в том числе и googleapps $host="{imap.gmail.com:993/imap/ssl}"; $login="test@test.ru"; $password="somepwd";
/* использование не сложное. $msg->mail возвращается массив вот таких массивов
  array(8) {
    ["from"]
    ["to"]
    ["name"]
    ["subject"]
        // все заголовки выше уже находятся в utf-8
    ["charset"] - в этой кодировка находятся 2 параметра ниже
    ["plain"]  - сообщение в формате plaintext
    ["html"] - - сообщение в формате HTML ,один из них может быть [так как правило и есть] равен пустой строке.
    ["attach"] - массив с атачментами вида 'имяфайла'=>содержание файла
    array(1) {
                ["someattachname.txt"]=> 'какое-то его содержание';
    }
  }
Что главное:
   Заголовки приведены к UTF8, а ['plain'] и ['html'] необходимо перевести из ["charset"] к чему-либо самим. Напр: $decoded=mb_convert_encoding($msg[$i]['html'],'UTF-8',$msg[$i]['charset'])
*/


// Экзапмл юзадж :)

$host="{imap.gmail.com:993/imap/ssl}"; $login="test@test.ru"; $password="somepwd";
$msg=new mread($host, $login, $password);
var_dump (www.php.net/var_dump)($msg->mail);



mreadd.zip
 Description:
Работа с IMAP: получение непрочитанных писем с атачментами и приведением заголовков к UTF-8

Download
 Filename:  mreadd.zip
 Filesize:  2.03 KB
 Downloaded:  1944 Time(s)

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML