Чтение почты с помощью php через pop302.09.2007 сайт автора: http://webi.ru
публикация данной статьи разрешена только со ссылкой на сайт автора статьиКак получать почту с помощью php, через pop3 используя сокеты.
Комментарии
RSS комментарии
06.02.2009 Алексей
разобрался, это у меня что-то не в порядке с веб-сервером было
24.02.2009 Назар
Автору огромное спасибо. Помогите дописать сохранение файла
04.05.2009 Максим
Проблема с функцией get_data, сервер не находит точку в конце и попадает в бесконечный цикл. В чем может быть проблема?
13.05.2009 Сергей
Огромное спасибо за статью! Супер, отладил свой скрипт за минут 20. Но возникла проблема с gmail. При использовании этой части кода:
fputs($pop_conn,"STAT\n");
$pisma=fgets($pop_conn,1024);
echo "КОЛИЧЕСТВО ПИСЕМ РАВНО=fputs($pop_conn,"STAT\n");
$pisma=fgets($pop_conn,1024);
echo "КОЛИЧЕСТВО ПИСЕМ РАВНО=";
echo "$pisma";
gmail выдает неправильное количество писем, только если писем много, у меня если больше 260. То есть когда писем штук 500 gmail выдает, что их 256 или 258 или 252 - на разных ящиках. Как можно решить проблему, подскажите пожалуйста, что сделать чтобы gmail выдавал правильное количество писем.
13.05.2009 Сергей
Извиняюсь, неправильно скопировал код
fputs($pop_conn,"STAT\n");
$pisma=fgets($pop_conn,1024);
echo "КОЛИЧЕСТВО ПИСЕМ РАВНО=$pisma";
08.07.2009 Руслан
Спасибо вам огромное.
Именно с вашей статьи узнал про команды для pop3. И много чего еще. Удачи вам !!!
27.07.2009 David
Spasibo sa statju. Ochen'pomogla!
26.08.2009 off
Спасибо. Всё доступно и работает.
08.12.2009 Стас
после всей информации наверно банально, но как выдернуть обратный адрес?
от разных отправителей данные приходят разные и полный адрес login@pochta.ru присутствует cразу в нескольких местах, либо не присутствует вообще, а только логин
например From: login , а @pochta.ru - уже в другом месте
08.12.2009 Админ
Стас, поле From: должно всегда содержать email отправителя.
Если его нет, то просто в настройках программы, через которую было отправлено письмо не указали обратный адрес.
Выдернуть обратный адрес из таких писем не всегда удается даже почтовым программам.
Если в поле From: нет полного адреса, то можно считать, что его просто не указали и вы не сможете узнать обратный адрес.
Напимер через TheBat можно отправить письмо, в поле From: можно указать что угодно и это будет не обязательно login.
Но все подобные письма не являются "чистыми" и нормальный SMTP сервер не должен отправить такое письмо, а если даже и отправит, то антисмап должен сработать.
08.12.2009 ViTYAi
А как найти и прочитать нужное письмо, если их на сервере несколько?
09.12.2009 Админ
ViTYAi, что значит прочитать нужное письмо?
Например RETR 4.
Получит письмо под номером 4.
Если номер письма не известен, то нужно сначала узнать номер письма.
Узнаем количество писем "STAT", дальше перебираем в цикле это количество писем и получаем по каждому письму заголовки.
Например читаем заголовки 4 письма и 2 строки письма "TOP 4 2".
Получили заголовки с частью письма, обработали, если письмо нужное вам получаете его обращаясь к нему по номеру.
09.03.2010 DMwork.RU
Некоторые файлы не сохраняет до конца. те при выдаче неправильно определяет границы вложения и неотдает около 20 байт причем всегда по разному
09.03.2010 админ
кто-то выше задавал уже такой вопрос, но потом сообщил, что проблемы были на его стороне.
если данная проблема еще актуальна, кидайте мне на мыло свой исходник, посмотрю в чем может быть проблема.
10.03.2010 Dmitry
Подскажите пожалуйста, как можно задавать номер читаемого письма в переменной.
Пробовал так: fputs($pop_conn,"RETR ".$n."\r\n"); - не работает. Подскажите пожалуйста ответ. Спасибо.
11.03.2010 Admin
По моему у вас нет ошибки.
После этой команды выполняете
$a=get_data($pop_conn);
И в переменной $a должен быть текст письма.
Вам нужно убедиться, что в $n действительно есть номер письма...
Ну и чтобы понять, что у вас не так, нужно видеть весь ваш код, что у вас до этой команды и что после.
11.03.2010 Dima
Если к письму прикреплён файл, тогда Выводится только информация о файле, а само тело письма не появляется, в чём может быть причина???
(Пробовал на почте с mail.ru)
18.03.2010 Леонид Каганов
Хочу просто сказать большое спасибо. Вы сделали прекрасное нужное дело, которое помогло многим людям! И мне тоже.
24.03.2010 мих
У меня все прекрасно работает.
Файлы сохраняются, все отлично.
Тестирую на мейловской почте
16.04.2010 Евгений
Автор молодец, отличный скрипт, с Вашего разрешения хочу его разместить на своем сайте [url]
Добавить свой комментарий
|