![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
выделяю так то, что должен декодировать и загоняю в cp1251 получаетсяя что то вроде : 12412425151 просто цифры. если не декодировать base64 - то так же) |
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
делаю так. собственно, выводит что-то в стиле : 12421421421421321 ) без декодировки из бейс64 аналогично |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Прочтите внимательнее документацию по этой функции. Она не возвращает строку, а изменяет переданную.
|
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
спасибо.
|
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
Проблема такая : до меня доходят не все сообщения. точнее, когда как : иногда ничего не приходит, иногда 1 сообщение, иногда 2..n.
интуитивно понимаю в чём ошибка, точнее догадываюсь. возможно, что я отправляю ему команду LIST, а он ещё отослал ему всё, а я ему RETR уже шлю. но, как это исправить - не представляю. прошу помощи (
|
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
проблему решил
|
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
пытался решить проблему. всё сообщение не принять одним recv, пытался делить его на части по 1024 байта.
появилась проблема - он посылает мне первое сообщение несколько раз, не знаю, где я накосячил(
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
dixoNICH, чего-то в вашем скрипте не заметно перебора писем после команды List. видно что вы все время одно и тоже письмо запрашиваете.
Логично получить количество писем в массив. а потом перебрав массив, получить все письма. |
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
почему не заметно? отправляю лист, узнаю кол-во сообщений, запускаю фор от единицы, до кол-во сообщений + 1, в форе отправляю
print $socket "RETR $i\n"; потом сразу разбиваю и пушу в массив, потом джоин в строку |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
For проглядел. Однако я погонял код у себя:
0. добавьте use strict; 1. ваша регулярка для получения количества писем не очень, на моем почтовом ящике не сработала лучше переписать так (\d+)\D+(\d+) 2. В моем случае, писем много и после запроса их индексов, а вы ведь после первого же письма сразу хотите получать тело, в тело попадают остатки команды LIST. 3. ваш код my $aaa = $2/1024; my $bbb = 1*$2 - $aaa*1024; ну очень плохо отрабатывает например размер 1921. может лучше my $aaa = int($size/1024); my $bbb = ($size % 1024); А вообще попробуйте так:
Это сообщение отредактировал(а) shamber - 29.4.2011, 10:32 |
|||
|
||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
не работает, вообще ничего никуда не выводит. вот мой код, возможно у вас заработает
|
|||
|
||||
| shamber |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
Вот вы все равно упорствуете. посмотрите. что я вам написал нулевым пунктом?
Дальше ваши ошибки
Потом сравните мою 39 строку и вашу 68. Дальше писать? И кстати, что за странный способ писать подпрограмму, а потом ее вызвать?(Да и еще забывать ее вызывать?) Во вложении почту узнаете? Добавлено @ 22:51
Вообщем, ищите отличия, в них вся соль. Это сообщение отредактировал(а) shamber - 1.5.2011, 01:44 Присоединённый файл ( Кол-во скачиваний: 4 )
mail.7z 61,93 Kb |
||||||
|
|||||||
| dixoNICH |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
извините за мою не компетентность
огромное спасибо за помощь! |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
Пожалуйста.
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |