powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / POP3 Как, что и где взять реально бесплатно и легально?
38 сообщений из 38, показаны все 2 страниц
POP3 Как, что и где взять реально бесплатно и легально?
    #35327456
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Обискался уже в инете (и тут, и на фоксклубе в частностях) по поводу ПОЛУЧЕНИЯ почты по POP3 протоколу - и практически нулевой результат. (За то много хороших вариантов SMTP отправки почты - заюзал один из оных.)
Много условно-бесплатных и триальных предложений OCX/DLL (от Marshall/CHILKAT и тд и тп), но не хочу нелегальных каких-то частей собирать в свой проект. Да и связываться с этими темами по 115 уёф за ддл-ку для практически бесплатной проги...
Нашел было у эстонцев то что нада - так хрен че оттуда качается! Здеся есть такой код, совершенно бесплатный, юзающий входящую в WinXP, но нереганную mswinsck.ocx Но с аттачментами - хз че как, да и глючит такое решение - то соединиццо, то не может, то 0 мессаг, то 1, а то и вовсе какой-то OCX dispatch error по 3 раза вылазит... Да и заливает оно мессагу со всеми потрохами-хедерами...
Нашел на news2news варианты API для VFP. Но у них сам код - для зареганых или за 7 уёф по PayPal, т.е. не для хомо советикуса...

Собственно вопрос остаеццо открытым. Хотелось бы вот то, эстонское решение или такое жо. Подскажите?

спасибо!

вфп9сп1
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35327524
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35327613
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паша с каких пор EasyMail стал бесплатным ?

MAPI.Session тока убого вообще-то
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35332567
CTAC-KOПривет!

Обискался уже в инете (и тут, и на фоксклубе в частностях) по поводу ПОЛУЧЕНИЯ почты по POP3 протоколу - и практически нулевой результат. (За то много хороших вариантов SMTP отправки почты - заюзал один из оных.)
На фоксклубе я как-то пример для SMTP выкладывал, для POP3 - нет. Правда у меня есть класс для полноценной работы с POP3 (но так как он является частью многих самостоятельных классов и большой программы, их выкладывать не хочется) - в нём есть ВЕСЬ принцип работы с POP3. Если сможешь разобраться - могу этим классом поделиться. Ещё раз скажу, он является ЧАСТЬЮ и напрямую без напильника не заработает, но в нём есть ВСЁ для понимания и БОЛЬШАЯ часть для работы. Нужен?
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35332669
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужен!!!
:)

Я уж напильнег найду!
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35332693
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист
На фоксклубе я как-то пример для SMTP выкладывал, для POP3 - нет. а Вы не Vladimir_Knyr часом будете? Я его SMTP использовал, там намеки на РОР3 вроде как есть, но вот я пробовал чет подмутить - и фокса висла просто. На форумах сишнегов читал что там надо recv в цикле ставить оно и понятно - ведь за 1 сек метровое мыло не упадет никак. Ну я поставил recv() в цикл, оно пока 1 мыло качает - все нормально, а как прием окончен и снова попадаем на recv (когда ему уже ниче не шлют) - тут то ему и висняк наступает... А узнать когда остановится - непонятно как. Те размеры что отдает LIST реально с размерами принятого ни разу не совпадают - иногда на пару байт, иногда конкретно так больше. Но никогда меньше или равно. Поэтому основа прерывания цикла отсутствие принятого в промежутке времени, чего не удалось добиться. Короче самостоятельно вылепить из этого РОР3 функционал - не смог.

Еще попробовал пример RC_by_email. Такой весьма интересный, правда ОСХа ему нада пореганного (не такая уж большая проблема) но проблема - это его работа. Я разрабу отписал на форуме, только ради этого и зарегался на фоксклубе.

Короче, как мне видится, основная проблема мыльного функционала на основе выньсокетов для вфп утыкаются в некую спешку в работе. Т.е. не дожидаются ответа или его окончания, особенно в случае приема мыла...

а сам РОР3 - комплет из 10 простейших команд, почти половину из которых можно вообще не использовать. Вот уж не думал никогда про почтовики...
http://www.realcoding.net/article/view/286Команды протокола POP версии 3 (для минимальной конфигурации):
USER - Идентифицирует пользователя с указанным именем
PASS - Указывает пароль для пары клиент-сервер
QUIT - Закрывает TCP-соединение
STAT - Сервер возвращает количество сообщений в почтовом ящике плюс их общий размер
LIST - Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения)
RETR - Извлекает сообщение из почтового ящика (требуется указывать аргумент-идентификатор сообщения)
DELE - Отмечает сообщение для удаления (требуется указывать аргумент - идентификатор сообщения)
NOOP - Сервер возвращает положительный ответ, но не совершает никаких действий
LAST - Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались
RSET - Отменяет удаление сообщения, отмеченного ранее командой DELE
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35332816
CTAC-KOа Вы не Vladimir_Knyr часом будете?
Нет, меня не так зовут :)
Лови файл
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333158
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо большое! буду работать :)

Старый фоксистНа фоксклубе я как-то пример для SMTP выкладывал а какой/где же этот пример выкладывали? Я так понял что не в решениях, наверное в конфе...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333189
CTAC-KOа какой/где же этот пример выкладывали? Я так понял что не в решениях, наверное в конфе...Именно в решениях. SMTP.PRG там где-то есть: пример отправки почты с авторизацией. Но там вариант очень старый, одна из древних альф - только что б показать возможность работы с авторизацией, достаточно медленный вариант при множественной отправке писем.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333206
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист CTAC-KOа Вы не Vladimir_Knyr часом будете?
Нет, меня не так зовут :)
Лови файл
Ну и если не жалко то и soket.prg :)
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333216
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист
Нет, меня не так зовут :)

Вас зовут Константин :)
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333489
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Вот об этом хотелось бы по-подробнее:
Код: plaintext
1.
2.
3.
4.
...
	.WinSock=NEWOBJECT("socket","socket.prg")
...
	.Crypt=NEWOBJECT("cryptor","cryptor.prg")
...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333550
CTAC-KOПривет!
Вот об этом хотелось бы по-подробнее:
Код: plaintext
1.
2.
3.
4.
...
	.WinSock=NEWOBJECT("socket","socket.prg")
...
	.Crypt=NEWOBJECT("cryptor","cryptor.prg")
...

Как я уже сказал, код напрямую не заработает, так как зависим от кучи классов ещё. В твоём случае вместо socket.prg можно воспользоваться mswinsck.ocx (MSWinsock.Winsock). Вот его использование надо будет дорабатывать напильником; однако это не должно составить большого труда, так как использование socket.prg я старался сделать максимально совместимым с использованием OCX (у меня OCX изначально и использовался, поэтому мне для себя было выгоднее эту совместимость обеспечить ;-) ).

Использование же cryptor.prg необходимо только для получения HmacMd5 и Md5 хэша, алгоритмы которых нетрудно запрограммировать самому (найти в интернете) или просто отказаться от AUTH CRAMS-MD5 и APOP авторизации, так как большинство pop серверов поддерживают упрощённые варианты авторизаций.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35333591
CTAC-KOПривет!
Вот об этом хотелось бы по-подробнее:
Код: plaintext
1.
2.
...
	.Crypt=NEWOBJECT("cryptor","cryptor.prg")
...

Я тебе тут микро вырезку пары функций сделал, которые используются в popmail.prg. Пришлось сильно всё упростить, чтобы в отдельный класс их поместить, но работают по крайней мере.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35334160
FX232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бестолковое решение. )
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35334243
FX232бестолковое решение. )
Что именно является бестолковым решением?
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35334568
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист CTAC-KOПривет!
Вот об этом хотелось бы по-подробнее:
Код: plaintext
1.
2.
...
	.Crypt=NEWOBJECT("cryptor","cryptor.prg")
...

Я тебе тут микро вырезку пары функций сделал, которые используются в popmail.prg. Пришлось сильно всё упростить, чтобы в отдельный класс их поместить, но работают по крайней мере. спасибо большое!
по ходу я больше именно это хотел. т.к. ОСХ подключить - в коде только *комент снять и все... хотя есть у меня такая длл/флл FoxHash и + в том, что упоминал, решении SMTP тоже тема шмяк_мд5 используется, но в первом случае я юзал всегда без доп. параметров и не знаю поддерживается ли такое, а во втором - там так все запутано, что не понятно как использовать. Там аж 3 метода про мд5 - долго разбираться, учитывая что там еще класс пронаследован на 2 уровня...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35334578
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FX232бестолковое решение. )дайте толковое - такие умозаключения выписывать умеют все.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35334647
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KO FX232бестолковое решение. )дайте толковое - такие умозаключения выписывать умеют все.
Действительно тебе необходимо прописывать всю работу по POP3 протоколу? Своего почтового клиента пишешь?

Готовые почтовые клиенты не хочешь поизучать? Принял, скинул в файл, и обрабатывай дальше как хочешь и чем хочешь.
Идеальный вариант - берешь The BAT, прописываешь правила и он дальше сам рулит. Командная строка там много что может. Правда не бесплатный он.
Есть еще тундербирд бесплатный, с зэбатом рядом не стоял, но там плагинов куча, может найдешь что тебе надо.
Можно через объект MAPI.Session цепляеться к почтовому клиенту по умолчанию. Если юзер почтой не пользуется, то настраиваешь Outlook Express на прием и им рулишь, проблема только если юзер почтой пользуется, то тебе надо будет свою почту он его отсортировывать. И разные почтовые проги немного по разному себя ведут.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35335233
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я хочу в программе свой и только свой поп3/смтп. пусть на основе ОСХ, но свой. Это не потребует установки каких-то thirdparty программ (кроме рага ОСХ-а) и исключит тем самым массу ненужного гемора.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35335279
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOДа, я хочу в программе свой и только свой поп3/смтп. пусть на основе ОСХ, но свой. Это не потребует установки каких-то thirdparty программ (кроме рага ОСХ-а) и исключит тем самым массу ненужного гемора.
Задачу не хочешь описать?
Наелся всякого с почтой в свое время (судя по количеству ответов по существу думаю не только я :) ). Почта очень неудобная и ненадежная штука для обмена инфой между прогами, доставка не гарантируется - спамфильтры, антивирусы могут порубить, сервер почтовый может проиметь твое письмо при отсутствии связи между почтовым сервером отправителя и сервером получателя, при неграмотно настроеном серваке письмо может подвиснуть там на пару дней, а потом прийти когда все продублировали руками, про него давно забыли, а оно нарисовалось и второй раз нагадило.
Может проще в сторону FTP или HTTP покопать? Хостинги нынче недорогие, бесплатные есть.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35335833
Dima T CTAC-KO FX232бестолковое решение. )дайте толковое - такие умозаключения выписывать умеют все.
Действительно тебе необходимо прописывать всю работу по POP3 протоколу? Своего почтового клиента пишешь?Кстати, вот лично я почтового клиента писал, поэтому popmail.prg сотоварищи у меня выполняет всю работу по протоколу POP3, эт так, к слову :-)
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35335979
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист Dima T CTAC-KO FX232бестолковое решение. )дайте толковое - такие умозаключения выписывать умеют все.Действительно тебе необходимо прописывать всю работу по POP3 протоколу? Своего почтового клиента пишешь?Кстати, вот лично я почтового клиента писал, поэтому popmail.prg сотоварищи у меня выполняет всю работу по протоколу POP3, эт так, к слову :-)и как по мне - написано все грамотно и понятно благодаря каментам. Риспектище!!! и большое Вам еще раз спасибо. И кстати, Ваш смтп-клиент я тоже скачал с фоксклуба, хоть он там страшно альфовый, но работает - подпилил только функцию, которая била мессаго по 78 символов - циклилось, если там одним словом больше 78 символов было. Хотя сперва не Ваш клиент использовал, но теперь перешел. Тот, что я пробовал - никогда с первого раза не оптравлял, всегда со сторого. Ваш - всегда со старта!
Dima T CTAC-KOДа, я хочу в программе свой и только свой поп3/смтп. пусть на основе ОСХ, но свой. Это не потребует установки каких-то thirdparty программ (кроме рага ОСХ-а) и исключит тем самым массу ненужного гемора.Задачу не хочешь описать?
мне не для обмена меж прогой и прогой или модулями проги. Мне для отправки и получения юзерами почты, а так же отправки егора разрабу :), без заюзания сторонних продуктов. не везде канает кряканный софт ставить и морду кирпичем делать :) + задача такая, чтоб юзеры все необходимое средствами проги делали. А во все необходимое как раз слегка попадает мыло. задача неосновная, но очень wellcome-ная :) Нечто вроде корпоративной почты, но не совсем... т.е. совсем они не корпорация :)
Вопрос:
- а че не заюзать б/п трахтенбёрдь или вшитое в б/п оперу и тп?
Ответ:
- к сожалению большинство юзеров предельные тупорезы и распинайся потом каждому объяснять че к чему, как поставить, а как что, а где, а я по-английски плохо вижу и тп. Т.е. это для меня и для Вас не составит труда установить и настроить под себя какой-нить б/п мылоклиент, но юзьверы...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35336015
CTAC-KO Старый фоксистКстати, вот лично я почтового клиента писал, поэтому popmail.prg сотоварищи у меня выполняет всю работу по протоколу POP3, эт так, к слову :-)И кстати, Ваш смтп-клиент я тоже скачал с фоксклуба, хоть он там страшно альфовый, но работает - подпилил только функцию, которая била мессаго по 78 символов - циклилось, если там одним словом больше 78 символов было. Хотя сперва не Ваш клиент использовал, но теперь перешел. Тот, что я пробовал - никогда с первого раза не оптравлял, всегда со сторого. Ваш - всегда со старта!
В принципе лови тогда более современную версию smtpmail.prg. Теперь ты уже знаешь, ЧТО напильником подпиливать, так что справишься и с этим модулем :-)
Вместо cryptor.prg используй тот микро класс в md5.prg, что я кидал. SMTP класс тоже требует только те две функции.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35336029
Старый фоксистВ принципе лови тогда более современную версию smtpmail.prg.
Наверно я погорячился, предложив новую версию :-) Она более сильно завязана на другие классы. Ща попробую упростить их и выложу...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35336047
Старый фоксистВ принципе лови тогда более современную версию smtpmail.prg.
Вот несколько упрощённый класс message.prg (выкинуты зависимости от других классов). Не уверен, что на скорую руку без ошибок всё выкинул и ничего не напортачил, но думаю, сможешь понять, если где проблема вылезет :-)
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35336060
Старый фоксистВ принципе лови тогда более современную версию smtpmail.prg.
И последняя зависимость, которую хлопотно предлагать тебе вручную делать :)
Класс работы с реестром regclass.prg, используется в message.prg
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35341422
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вау!

Тут уже риспектами не отмашишсо, тут пиво заливать нада :) ! Спасибо, буду разбираццо!

Да я уже вторые сутки плодотворно обпиливаю альфового клиента. Создал класс на основе формы с едитбоксом и 2мя текстбоксами. В первый у меня падают трейс событий, телодвижения короче, типа как в бате: соединяемсо... ляля... авторимся... бла-бла и тд, а в текстбоксы кол-во принятой/переданной инфы. Сразу наглядно видать че как и не висняги ли. Сперва хотел прогресс-бар лепить - но спрыгнул с темы, еще думал в статусную строку фоксы инфить, но так мне больше понравилось. Хочу вот еще кнопу "внезапного аборта" прилепить да и все. По СМТП. а по рор3 еще толком не дошло дело пока... Но его тоже на основе формы мучу. Кста, одна из причин именно формы - на нее можно осх лепить, который я в класс залил. Поэтому у меня не
Код: plaintext
.WinSock=CREATEOBJECT("MSWinsock.Winsock")
а
Код: plaintext
1.
.AddObject("oWinSock","winsock")
.WinSock = .oWinSock.Object
Еще возник вопрос почему закаменчен метод авторизации МД5-дайджест? (Я еще в новый смтп-класс не глядел, возможно вопрос отпадет.)

Не воспримите как поппытку оттяпать руку по локоть :), но если выложить по каким-либо соображениям невозможно, просто скажите, Константин, а что у Вас, собственно, лежит в классе socket.prg? (Cмотрю в нем появился конверт IP2Host/Host2IP) Я-то использовал ОСХ. Может у Вас там все без ОСХ вообще, т.е. все через API? Или Вы там просто проверяете зареган ли осх и если нет - регаете и тогда его инициализируете?
Такой вариант (через API) в принципе лучше по причине отсутствия необходимости регать ОСХ, а значит нести его с прогой и тд и тп. Кроме того уже наступил на грабли (подозревал об их наличии)! У юзера какая-то нестандартная сборка ХР - дык там mswinsck.ocx в папке system32 отсуцтвует напрочь. Вот я юзаю сборку от филки - так там есть, только зарегай и все ок, даже ниче никуда копировать не надо. А ему скопировал файло в ту папку, успешно зарегал... и грабли прога:)Error: OLE Error Code 0x80040112: Appropriate license for this class not found.ну я не растерялсо и спросил у дяди Гугля, который отправил меня сюда, к МС - там как раз про эти самые грабли. Так оказалось что у того юзера все те файлы есть окромя первого, ну так и у меня на кампе тоже первого нет, но все ок... В который раз убедился что МССаппорт нифига не помогает своими "салюшенами"...

ЗЫ. Предположительно щас начнеццо поломничество умнегов с проповедями на тему граблей...
Только не надо! Я подозревал об их существовании еще до их появления и в любом случае буду искать методы их деструкции :) поэтому лучше дайте дельный совет по поводу методов борьбы с оными, если знаете.

ЗЗЫ. У Вас в смтп-классе похоже остался мелкий баг (возможно я ошибаюсь - бегло просмотрел), это я про случай, когда в мессаге одним словом больше 78 букав. мессаго у Вас нарезаеццо по пробелам, табам и ; чем слово не поделено. Проверте отсыл такой мессаги.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35341815
CTAC-KO Еще возник вопрос почему закаменчен метод авторизации МД5-дайджест? (Я еще в новый смтп-класс не глядел, возможно вопрос отпадет.)
Закомментирован он по одной простой причине: я не смог этот алгоритм запрограммировать. Сколько RFC не читал, вроде и примеры там были, хоть и куцые, но результат работы моего алгоритма всегда отличался от того, что возвращал пример из RFC, и pop-сервера ни разу не вернули мне "+OK" на такой запрос. Так и не доковырял из-за этого.

CTAC-KO что у Вас, собственно, лежит в классе socket.prg? (Cмотрю в нем появился конверт IP2Host/Host2IP) Я-то использовал ОСХ. Может у Вас там все без ОСХ вообще, т.е. все через API? Или Вы там просто проверяете зареган ли осх и если нет - регаете и тогда его инициализируете?
У меня в socket.prg работа с сокетами организована через WinAPI. То есть это просто замена OCX'у. Единственное, что я когда его делал, то сделал работу только на получение данных, то бишь "Listen" я там не сделал, поэтому не 100%-ная замена OCX'у получилась (в моей программе слушать порт не нужно было, вот и не стал делать).

CTAC-KOЗЗЫ. У Вас в смтп-классе похоже остался мелкий баг (возможно я ошибаюсь - бегло просмотрел), это я про случай, когда в мессаге одним словом больше 78 букав. мессаго у Вас нарезаеццо по пробелам, табам и ; чем слово не поделено. Проверте отсыл такой мессаги.
Ну если есть ошибка и ты знаешь, как её исправить - исправляй :) Я не натыкался, но это не означает, что программа безошибочна.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35343049
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист CTAC-KOЗЗЫ. У Вас в смтп-классе похоже остался мелкий баг (возможно я ошибаюсь - бегло просмотрел), это я про случай, когда в мессаге одним словом больше 78 букав. мессаго у Вас нарезаеццо по пробелам, табам и ; чем слово не поделено. Проверте отсыл такой мессаги.Ну если есть ошибка и ты знаешь, как её исправить - исправляй :) Я не натыкался, но это не означает, что программа безошибочна. так я ж об этом написал чтобы Вы у себя исправили, не ровен час споткнеццо прога там. У себя-то я конечно исправил. Выяснилось как - я для пробы отсылал мылом ошибку, а там иерархическая ссылка не объект вызвавший ошибку, через точки и получилось около 100 символов, типа такого: егорVeryCoolFormWithGrid.pageframe1.pageSomeServiceForGrid.pageframe1.pageCountRecords.btnCountRecords.Click
чем я и заключил - попробуйте такое отослать у себя чтобы проверить...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35343130
CTAC-KO егорVeryCoolFormWithGrid.pageframe1.pageSomeServiceForGrid.pageframe1.pageCountRecords.btnCountRecords.Click
чем я и заключил - попробуйте такое отослать у себя чтобы проверить...
На самом деле ошибки не будет: протокол SMTP нормально переваривает строки любой длины, иначе как бы передавались бинарные файлы, не кодируемые Base64 и Quoted-Printable (формат Binary). Просто стандарт описывает, что строки должны быть порезаны, но это не является обязательным.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35343160
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист CTAC-KO егорVeryCoolFormWithGrid.pageframe1.pageSomeServiceForGrid.pageframe1.pageCountRecords.btnCountRecords.Click
чем я и заключил - попробуйте такое отослать у себя чтобы проверить...
На самом деле ошибки не будет: протокол SMTP нормально переваривает строки любой длины, иначе как бы передавались бинарные файлы, не кодируемые Base64 и Quoted-Printable (формат Binary). Просто стандарт описывает, что строки должны быть порезаны, но это не является обязательным.дело не в этом, а в том, что метод StrFolding зацикливается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
* Строка длиннее  78  символов?
IF LEN(m.tcString)> 78 
	* Да! Тогда произведём над ней необходимые манипуляции

************************
*вот без этого - зацикл будед
************************
	* если будет слово больше  78  символов - бьем его переносами
	* на куски по  77 -
	LOCAL lnWordCount, lcWord
	lnWordCount = GETWORDCOUNT(tcString,' -')
	nI= 1 
	DO WHILE m.nI <= m.lnWordCount
		lcWord = GETWORDNUM(m.tcString,m.nI,' -')
		IF LEN(m.lcWord)> 78 
			m.tcString = STUFF(m.tcString,AT(m.lcWord,m.tcString),LEN(m.lcWord),LEFT(m.lcWord, 77 )+'-'+SUBSTR(m.lcWord, 78 ))
			lnWordCount = GETWORDCOUNT(m.tcString,' -')
		ENDIF
		nI = m.nI + 1 
	ENDDO
************************

	* Разделим строку по разделителям, включая в массив разделители
	nLines = ALINES(aLn,m.tcString, 2 + 16 ," ",CHR( 9 ),";",'-')
	
	* Есть такие разделители в строке?
	IF m.nLines >  0 
		cRetVal = ''
		cStr = ''
		
		FOR nI= 1  TO m.nLines
			* Сравним сумму длин строки из массива с собираемой строкой
			* на длину больше  78  символов плюс  1  разделитель, то есть  79 
			IF LEN(m.cStr + m.aLn[m.nI]) >  79 
				* Если склеивание идёт не с первой строкой массива...
				IF m.nI >  1 
					* ... значит у нас уже есть в cStr строка, которая
					* не превышает нужной длины и к которой достаточно
					* добавить CRLF и пробел
					cRetVal = m.cRetVal + RTRIM(m.cStr, 0 ," ",CHR( 9 )) + CRLF &&+" "
					
					* Далее уменьшим текущий индекс, чтобы пройти
					* обработку этой строки из массива ещё раз
					nI = m.nI - 1 
					
					* И обнулим cStr, так как начинается новая строка
					cStr = ''
				ELSE
					* А здесь проверим превышение длины строки максимальных
					*  998  символов и если она превышает это значение, тогда
					* разделим её принудительно
					IF LEN(m.aLn[m.nI]) >  998 
						DO WHILE .T.
							IF LEN(m.aLn[m.nI]) >  998 
								cStr = m.cStr + SUBSTR(m.aLn[m.nI], 1 , 998 ) +CRLF
								aLn[m.nI] = SUBSTR(m.aLn[m.nI], 999 )
							ELSE
								cStr = m.cStr + m.aLn[m.nI]
								EXIT
							ENDIF
						ENDDO
					ELSE
						* Принимаем первую строку какая есть
						cStr = m.cStr + RTRIM(m.aLn[m.nI], 0 ," ",CHR( 9 ))+CRLF &&+" "
					ENDIF
				ENDIF
			ELSE
				* Склеиваем строки из массива в одну переменную
				cStr = m.cStr + m.aLn[m.nI]
			ENDIF
		ENDFOR
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35343252
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый фоксист CTAC-KO что у Вас лежит в классе socket.prg? (Cмотрю в нем появился конверт IP2Host/Host2IP) Я-то использовал ОСХ. Может у Вас там все без ОСХ вообще, т.е. все через API? Или Вы там просто проверяете зареган ли осх и если нет - регаете и тогда его инициализируете?У меня в socket.prg работа с сокетами организована через WinAPI. То есть это просто замена OCX'у. Единственное, что я когда его делал, то сделал работу только на получение данных, то бишь "Listen" я там не сделал, поэтому не 100%-ная замена OCX'у получилась (в моей программе слушать порт не нужно было, вот и не стал делать). вобщем без socket.prg нет смысла использовать обновленный смтп-клиент - слишком долго разбираться и напильничать.
Скажите, вот в примере смтп-клиента В. Колосова тоже вся работа была организована через выньапи, а не через выньсокет.осх. Но там проблема недополучения данных, как я уже упоминал. В частности отправка-прием органивана через
Код: plaintext
1.
declare integer send in ws2_32.dll integer, string @, integer, integer
declare integer recv in ws2_32.dll integer, string @, integer, integer
метод recv:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
local lcBuffer, ll_return_status, lcFDREAD , lnByteCount
with this
	m.lcBuffer = .get_null_terminal_string(.size_buffer)
	m.lcFDREAD = .int_n_str( 1 , 4 ) + .int_n_str(.hsocket, 4 )
	* SOCKET_ERROR
	do while socketselect( 0 ,@m.lcFDREAD, 0 , 0 , 0 ) <  1 
	enddo

	m.lnByteCount = recv(.hsocket,@m.lcBuffer,.size_buffer, 0 )

	store m.lnByteCount # SOCKET_ERROR to m.ll_return_status
	if m.ll_return_status
		.byte_count_in = .byte_count_in + m.lnByteCount
	endif
	.pop3_buffer = alltrim(m.lcBuffer)
	.recv_buffer = right(.pop3_buffer,len(.pop3_buffer)- 4 )
	if m.ll_return_status
		m.ll_return_status = .out_protocol('s',.alltrim(m.lcBuffer))
	else
		.out_message('Recv',WSAGetLastError())
	endif
endwith
return m.ll_return_status
и вот с recv потом проблема такая - в строке
Код: plaintext
m.lnByteCount = recv(.hsocket,@m.lcBuffer,.size_buffer, 0 ) 
метод загребает только то, что успел принят к моменту исполнения. Это не всегда даже полностью ответ на посланную команду (к примеру LIST/TOP). Я попробовал зациклить по условию что m.lnByteCount изменяется, но тогда метод зависает на команде recv(.hsocket,@m.lcBuffer,.size_buffer,0), когда уже ничего реально не приходит, потому что и не должно. И дальше код в методе не исполняется, соотв. тайм-аутами не отмазаццо.
Да и с буфером тоже непонятно - заранее же неизвестно сколько данных упадет...

Не подскажете как это решаемо?
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35343551
CTAC-KOНе подскажете как это решаемо?
Проще выложить socket.prg, чтобы не пилить код :-)
Лично я не натыкался на проблемы с получением всех данных: я достаточно долго тестировал на разных вариантах получения данных
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35345961
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Буду разбираться.
По ходу принципиальных различий в реализации выньапи не заметил, т.е. те же send/recv...
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35346457
CTAC-KOПо ходу принципиальных различий в реализации выньапи не заметил, т.е. те же send/recv...
Конечно :-)
И там и там windows sockets второй версии. Различие не в работе с сокетами, а в реализации SMTP и POP3 протоколов, а именно как реализовано получение всех данных для случая, когда заранее неизвестен размер этих данных.
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35346489
maple4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример реализации (в zip.файле)
с :
mswinsock.winsock - получение письма
ADODB.Stream - преобразование для CDO
CDO.Message - ПОЛНЫЙ доступ к содержимому письма (в том числе к файлам, прикрепленным к письму)

На данном примере построена программа приема писем и анализа (+выполнение дальнейших действий - формирование/отсылка, занесение в базу и т.д.).

В теле программы необходимо разместить код обработки (для чего-то это же надо, все таки)
логин, пароль, порт и имя сервера

Использован и переработан код, размещенный ранее на
foxclub.ru ,
sql.ru ,
microsoft.com ,
www.delphikingdom.com .

P.S.
отпала необходимость в The Bat, easeemail и т.д.
глюков пока не замечено



Не стреляйте в пианиста, он играет как умеет
...
Рейтинг: 0 / 0
POP3 Как, что и где взять реально бесплатно и легально?
    #35365407
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С 2000 года юзаю в проектах на MSA и VFP почту
postie
Никаких проблем никогда не было. Хоть и не freeware, но shareware ООЧЕЕНЬ добротное.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / POP3 Как, что и где взять реально бесплатно и легально?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]