Почтовый клиент для 6.3

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Почтовый клиент для 6.3

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

kreator писал(а): А что с ней будет, если пользователь выйдет из программы?
Данные в ней пропадут. Навсегда. ;)
Там был еще вариант - записывать сообщения в список. А пробовать отправлять сообщения можно, например,
при выходе из программы. Если конечно нужно каждое сообщение отправлять отдельным письмом. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

Admin писал(а):Я бы сделал отдельную программу которая сервисом висит и отправляет подготовленные письма
У нас есть такой вариант. Висит на сервере, срабатывает через определённый промежуток времени, делает массовые рассылки (типа того). А задача данной разработки - мгновенные сообщения, человек нажал на "ОК" и сообщение пошло. Опять же при первом варианте существует вероятность человеческого фактора - сервис завис, остановлен админом и т.д., что мы периодически и наблюдаем.
Спасибо Игорю за наводку. Я тестировал на мэйл-сервере, который на другой площадке, даже не в Москве, поэтому получалось долго, в реальности сервера будут рядом. Но всё равно я сделал через глобальную очередь, пока всё хорошо получилось. Попробую просто предупреждать пользователя при выходе, что есть не отправленные сообщения, а он должен будет иметь выбор - выйти или дождаться отправки.
Кстати, по поводу кодировки. Посмотрел письма, которые приходят из филиалов, из одного "koi8r", из другого "win-1251". А у нас будет круто, "utf8" :mrgreen: .
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

А можно "Важность" (Importance) сообщения каким-то образом выставить?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Почтовый клиент для 6.3

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

kreator писал(а): А можно "Важность" (Importance) сообщения каким-то образом выставить?
Думаю, что нет. Почтовое сообщение настраивается параметрами MyClaRunExt.SendMail(), и параметра "Важность" там нет.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

А как напрячь SV этой проблемой. Сделали очень хорошую вещь, но кое-что не предусмотрели. Кстати там ещё много всяких тегов, нужна возможность внедрять всякие теги в тело письма, мало ли потребуются ещё какие.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Почтовый клиент для 6.3

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

kreator писал(а): А как напрячь SV этой проблемой.
Это еще никому не удавалось .... :idied:
В принципе, ClaRunExt - это просто интерфейс к .Net ...
Если есть какие-то особые пожелания, можно попробовать напрямую поработать .Net
или использовать для отправки почты интерфейсы с расширенными возможностями (например Catalyst Socket Tools)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Почтовый клиент для 6.3

Сообщение RaFaeL »

А если посмотреть то что я выложил? Там можно любые флаги выставлять
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

RaFaeL писал(а):А если посмотреть то что я выложил? Там можно любые флаги выставлять
Очень похоже на библиотеку smtplib Осипова. Подозреваю, что проблемы у них одинаковые (посмотрел одним глазом, аутентификации на сервере, что я очень тяжело допиливал в smtplib, похоже, нет).
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Почтовый клиент для 6.3

Сообщение RaFaeL »

Это?

Код: Выделить всё

  ret#=Mail.OpenHost('SMTP',EAA:SMTPServer,EAA:SMTPPort,LOC:SMTPUser,LOC:SMTPPassword,1)
  if ret#
    LOC:Num='Ошибка соединения с сервером SMTP, код ошибки '&ret#
    display(?LOC:Num)
    exit
  else
    Mail.SmtpNewMail('Windows-1251','8bit')
    ...
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

Ну, типа этого. Только странно как-то. Принудительно пытается заставить сервер принять эти значения? Надо разбираться.
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Почтовый клиент для 6.3

Сообщение RaFaeL »

Там внутри все по шагам, если сервер просит ему передается, если нет - то не надо
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

Я прав. Принудительно посылается команда "EHLO", потом принудительно посылаются команды "AUTH LOGIN" и т.д. Если сервер выдаёт ошибку, то конец связи. На самом деле это не криминал, современные сервера должны поддерживать ESMTP. Спорить не о чем. У нас сервак не поддерживал ESMTP, поэтому была выбрана библиотека Осипова. За давностью лет уже никто не помнит. А SSL что туда что туда сложновато как-то внедрить. И вопрос - надо ли?
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Почтовый клиент для 6.3

Сообщение RaFaeL »

Специально посмотрел, процедура SmtpConnect в ней три варианта действий по запросу сервера - CRAM-MD5, LOGIN и PLAIN, если сервер не запросил один из этих трех вариантов, то сразу после соединения считается что все ОК

На счет SSL спорный вопрос, сейчас все больше серверов отказываются от простого доступа, ставить почти всем клиентам stunnel мне уже поднадоело. А переходить на SendMail_ClaRunExt для меня тоже не вариант, это какой-то монстр с 34 параметрами (никогда ранее такого не видел) и 60 мб установщика с собой тянет. Ну и даже если так - отправка есть, а приема нет, а он нам тоже нужен
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Почтовый клиент для 6.3

Сообщение kreator »

RaFaeL писал(а):Специально посмотрел, процедура SmtpConnect в ней три варианта действий по запросу сервера - CRAM-MD5, LOGIN и PLAIN, если сервер не запросил один из этих трех вариантов, то сразу после соединения считается что все ОК
Я занимался этим вопросом (если погуглить, то процесс именно такой, проверить можно Телнетом). При коннекте/обращении к Mail-серверу, он выдаёт приглашение. Если в нём (приглашении) присутствует аббревиатура "ESMTP", то сервер поддерживает расширенные инструкции и следующие команды должны быть "EHLO", "AUTH LOGIN" и т.д. Если нет аббревиатуры "ESMTP", то надо посылать команду "HELO" и больше логиниться не надо. Поскольку в Вашем примере такого поворота нет, то, скорее всего, расчёт идёт изначально на ESMTP. По поводу CRAM-MD5, LOGIN и PLAIN вообще ничего сказать не могу, может это какого-то конкретного сервака команды.
RaFaeL писал(а):А переходить на SendMail_ClaRunExt для меня тоже не вариант, это какой-то монстр с 34 параметрами
Всего 19 параметров :mrgreen: . Зато одной функцией.
Ещё погуглил сегодня. Народ пишет, что в .Net проблемы с приёмом по SMTP. Поэтому, нужно какие-то другие библиотеки пользовать.
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Почтовый клиент для 6.3

Сообщение RaFaeL »

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

Да, я не там посчитал, это внутри 34 )))
Но мне кажется, что, имея полные исходники, как то надежнее...
Ответить