Catalyst SoketTools Library

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Сообщение NewUser »

А я так и не получил.... :cry:
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Вопрос наверное скорее к Игорю Столярову, но выношу на общее обсуждение...
Разбираю пример отправки писем по SMTP, собираю такой же на Кларе. Застопорился на функции:

BOOL MimeExportMessageEx(
HMESSAGE hMessage, // handle to the message
DWORD dwExportMode, // export mode
DWORD dwExportOptions, // export options
LPVOID lpvMessage, // pointer to buffer to contain the message
LPDWORD lpdwMessageSize // pointer to buffer size
);
В клареона описана так:
MimeExportMessageEx(LONG hMessage, LONG dwExportMode, LONG dwExportOptions,*CSTRING lpMessage, *LONG lpdwMessageSize),LONG,PASCAL,RAW,NAME('MimeExportMessageExA')

а точнее на параметре lpvMessage. Я так понимаю в эту переменную и должно заносится собственно письмо, но не заносится... :( и соответственно писмо приходит кривое, без темы и содержания.

Игорь, если есть время и возможность, выложи код на кларионе отправки письма, а лучше и получения по POP3 тоже... :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8032
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Сообщение Игорь Столяров »

По отправке почты: в архиве ClarionLife есть прекрасный рабочий пример: "Библиотека для отправки сообщений по SMTP с использованием формата MIME (Дмитрий Осипов)". Работает без всяких внешних библиотек - только Clarion и C код. Посмотри.

По приему и разборке почты с помощью Catalyst SoketTools Library - постараюсь выдрать кусок кода и сброшу его тебе на e-mail. Хотя еще раз повторюсь: в описании к библиотеки есть все функции и примеры их использования С - все очень прозрачно и понятно ...
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Сообщение NewUser »

Игорь, и мне сбросьте, пожалуйста! Очень надо принимать и разбирать почту!!!!
ProgramMaker@mail точка ru
Последний раз редактировалось NewUser 13 Июль 2008, 21:29, всего редактировалось 1 раз.
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Собрал я пример отправки почты на С55 с использованием функций этой библиотеки. Письма оправляются, но есть загвоздка...

Если пример создан без использования клашиного окна (ну типа заполнить все параметры в коде и вызвать соответствующие методы отправки) то все ОК, если же открыть диалоговое окно для заполнения письма, то после отправки письма программа вылетает с недопустимой ошибкой на следующем витке ACCEPT цикла. Империческим путем выяснил: вылетает если вызывается метод SmtpConnect.

Конечно в код функции самой библы не влезешь, но может быть есть некие различия между окнами на Clarion и С++ или еще в чем-то, пример-то на VC7 работает без проблем...

ЗЫ: Я в курсе, что есть рабочие примеры для Clarion по отправке почты, но хочется определиться с целесообразностью использования самой библиотеки, и не только для Smtp.
ЗЫ2: По приему писем та же история, после вызова PopConnect :(
Гость

Сообщение Гость »

А на job_cw@mail.ru можно, порциями?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8032
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Сообщение Игорь Столяров »

> Собрал я пример отправки почты на С55 с использованием функций > этой библиотеки. Письма оправляются, но есть загвоздка...

Я не использовал Catalyst для отправки почты по SMTP.
Только прием по POP3 и разбор сообщений MIME.
Проблем использования из Clarion'а нет.
Если сбросишь в форум процедуру отправки по SMTP - попробую погонять, может что и проясниться ...
Гость

Сообщение Гость »

Ага ! Если не жалко :D покажите кусок кода по подключению и отправке письма через SMTP через Catalyst Socket Tools - если есть удачный опыт. Пожалуйста ! :lol:

Прием по POP3 от Игоря работает на ура, да и в хелпе на C он прозрачно написан, а вот с отправкой беда - не удается впихнуть имя логина и пароль SMTP-серверу, хоть тресни ... :cry:

Спасибо ... :shock:
Михаил
Бывалый
Сообщения: 55
Зарегистрирован: 24 Октябрь 2005, 16:42
Откуда: Москва

К гостю

Сообщение Михаил »

Может удастся переслать и CATALYSTA и пример приёма почты на Clare?
С уважением Михаил.
Гость

Сообщение Гость »

Кратко для тех, кто проспал первую часть балета. :D
Catalyst можно скачать с этого форума, а примеры работы с POP3, лично я уже переслал раз десять. Если проблемы с почтой - смените провайдера. Там, кто-то писал что ему письмо с библиотекой неделю шло ... :!: , что еще можно к этому добавить ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8032
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Сообщение Игорь Столяров »

Полностью рабочий код отправки сообщения через SMTP:

- описания переменных, констант и функций берем из библиотеки;
- назначение переменных - понятно из их наименования;
- обработку ошибок, для краткости - убрал;
- это перевод примера с VB6 (правда они "забыли" в нем показать передачу пароля на сервер - в этом и был основной затык);
- предполагаю, что MIME сообщение (т.е. сам e-mail) уже создано и записано в файл;
- Далее:

If SmtpInitialize(CSTOOLS4_LICENSE_KEY, 0) <> False
hClient = SmtpConnect(strRemoteHost,nRemotePort,60,SMTP_OPTION_EXTENDED,strLocalDomain,0)
If hClient <> INVALID_CLIENT
If SmtpAuthenticate(hClient,SMTP_AUTH_DEFAULT,strUserName,strPassword) <> SMTP_ERROR
FileMail = 'ПОЛНОЕ имя файла с сформированным MIME сообщением'
nResult = SmtpSendMessage(hClient,strFrom,strTo,FileMail,dwMessageSize,SMTP_MESSAGE_FILE)
iConnect# = SmtpDisconnect(hClient2)
end
end
SmtpUnInitialize()
end

Все - идите всречайте Ваше письмо ... ;)
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

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

Проверте, плиз...

PS^ Если в примере закоментировать код от Open(Window) до Close(Window), то все равно вылетает. Просто не знаю на что думать :(
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8032
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Сообщение Игорь Столяров »

А ты мой пример приема и разбора почты по POP3 получал ?
Работает давно в нескольких крупных системах - вообще без проблем.
Будет немного времени - я распишу как предыдущий пример по SMTP и выложу сюда же ...
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Пример не получал, может со спамом вычистил :oops:
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8032
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Сообщение Игорь Столяров »

Давай мыло - повторю. В форум кидать не хочу, т.к. это просто выдранный кусок из рабочей программы - начнуться вопросы, а почему то, а почему се ... ;)
Когда оформлю красиво - тогда можно будет и показать здесь ... :)
Ответить