Страница 2 из 4
Почтовый клиент для 6.3
Добавлено: 06 Август 2015, 15:40
Игорь Столяров
kreator писал(а): А что с ней будет, если пользователь выйдет из программы?
Данные в ней пропадут. Навсегда.

Там был еще вариант - записывать сообщения в список. А пробовать отправлять сообщения можно, например,
при выходе из программы. Если конечно нужно каждое сообщение отправлять отдельным письмом.

Почтовый клиент для 6.3
Добавлено: 06 Август 2015, 17:37
kreator
Admin писал(а):Я бы сделал отдельную программу которая сервисом висит и отправляет подготовленные письма
У нас есть такой вариант. Висит на сервере, срабатывает через определённый промежуток времени, делает массовые рассылки (типа того). А задача данной разработки - мгновенные сообщения, человек нажал на "ОК" и сообщение пошло. Опять же при первом варианте существует вероятность человеческого фактора - сервис завис, остановлен админом и т.д., что мы периодически и наблюдаем.
Спасибо Игорю за наводку. Я тестировал на мэйл-сервере, который на другой площадке, даже не в Москве, поэтому получалось долго, в реальности сервера будут рядом. Но всё равно я сделал через глобальную очередь, пока всё хорошо получилось. Попробую просто предупреждать пользователя при выходе, что есть не отправленные сообщения, а он должен будет иметь выбор - выйти или дождаться отправки.
Кстати, по поводу кодировки. Посмотрел письма, которые приходят из филиалов, из одного "koi8r", из другого "win-1251". А у нас будет круто, "utf8"

.
Почтовый клиент для 6.3
Добавлено: 07 Август 2015, 11:53
kreator
А можно "Важность" (Importance) сообщения каким-то образом выставить?
Почтовый клиент для 6.3
Добавлено: 08 Август 2015, 14:37
Игорь Столяров
kreator писал(а): А можно "Важность" (Importance) сообщения каким-то образом выставить?
Думаю, что нет. Почтовое сообщение настраивается параметрами MyClaRunExt.SendMail(), и параметра "Важность" там нет.
Почтовый клиент для 6.3
Добавлено: 08 Август 2015, 20:00
kreator
А как напрячь SV этой проблемой. Сделали очень хорошую вещь, но кое-что не предусмотрели. Кстати там ещё много всяких тегов, нужна возможность внедрять всякие теги в тело письма, мало ли потребуются ещё какие.
Почтовый клиент для 6.3
Добавлено: 08 Август 2015, 20:36
Игорь Столяров
kreator писал(а): А как напрячь SV этой проблемой.
Это еще никому не удавалось ....
В принципе, ClaRunExt - это просто интерфейс к .Net ...
Если есть какие-то особые пожелания, можно попробовать напрямую поработать .Net
или использовать для отправки почты интерфейсы с расширенными возможностями (например Catalyst Socket Tools)
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 12:13
RaFaeL
А если посмотреть то что я выложил? Там можно любые флаги выставлять
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 13:54
kreator
RaFaeL писал(а):А если посмотреть то что я выложил? Там можно любые флаги выставлять
Очень похоже на библиотеку smtplib Осипова. Подозреваю, что проблемы у них одинаковые (посмотрел одним глазом, аутентификации на сервере, что я очень тяжело допиливал в smtplib, похоже, нет).
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 14:49
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')
...
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 15:27
kreator
Ну, типа этого. Только странно как-то. Принудительно пытается заставить сервер принять эти значения? Надо разбираться.
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 15:57
RaFaeL
Там внутри все по шагам, если сервер просит ему передается, если нет - то не надо
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 17:30
kreator
Я прав. Принудительно посылается команда "EHLO", потом принудительно посылаются команды "AUTH LOGIN" и т.д. Если сервер выдаёт ошибку, то конец связи. На самом деле это не криминал, современные сервера должны поддерживать ESMTP. Спорить не о чем. У нас сервак не поддерживал ESMTP, поэтому была выбрана библиотека Осипова. За давностью лет уже никто не помнит. А SSL что туда что туда сложновато как-то внедрить. И вопрос - надо ли?
Почтовый клиент для 6.3
Добавлено: 10 Август 2015, 17:41
RaFaeL
Специально посмотрел, процедура SmtpConnect в ней три варианта действий по запросу сервера - CRAM-MD5, LOGIN и PLAIN, если сервер не запросил один из этих трех вариантов, то сразу после соединения считается что все ОК
На счет SSL спорный вопрос, сейчас все больше серверов отказываются от простого доступа, ставить почти всем клиентам stunnel мне уже поднадоело. А переходить на SendMail_ClaRunExt для меня тоже не вариант, это какой-то монстр с 34 параметрами (никогда ранее такого не видел) и 60 мб установщика с собой тянет. Ну и даже если так - отправка есть, а приема нет, а он нам тоже нужен
Почтовый клиент для 6.3
Добавлено: 11 Август 2015, 20:59
kreator
RaFaeL писал(а):Специально посмотрел, процедура SmtpConnect в ней три варианта действий по запросу сервера - CRAM-MD5, LOGIN и PLAIN, если сервер не запросил один из этих трех вариантов, то сразу после соединения считается что все ОК
Я занимался этим вопросом (если погуглить, то процесс именно такой, проверить можно Телнетом). При коннекте/обращении к Mail-серверу, он выдаёт приглашение. Если в нём (приглашении) присутствует аббревиатура "ESMTP", то сервер поддерживает расширенные инструкции и следующие команды должны быть "EHLO", "AUTH LOGIN" и т.д. Если нет аббревиатуры "ESMTP", то надо посылать команду "HELO" и больше логиниться не надо. Поскольку в Вашем примере такого поворота нет, то, скорее всего, расчёт идёт изначально на ESMTP. По поводу CRAM-MD5, LOGIN и PLAIN вообще ничего сказать не могу, может это какого-то конкретного сервака команды.
RaFaeL писал(а):А переходить на SendMail_ClaRunExt для меня тоже не вариант, это какой-то монстр с 34 параметрами
Всего 19 параметров

. Зато одной функцией.
Ещё погуглил сегодня. Народ пишет, что в .Net проблемы с приёмом по SMTP. Поэтому, нужно какие-то другие библиотеки пользовать.
Почтовый клиент для 6.3
Добавлено: 12 Август 2015, 0:48
RaFaeL
Ну может быть, но то что за 10 лет такого сервера не встретилось (а отправку почты десятки разных клиентов используют) это показатель
Да, я не там посчитал, это внутри 34 )))
Но мне кажется, что, имея полные исходники, как то надежнее...