This is topic Отправка e-mail из SCADA TRACE MODE in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Подскажите, как правильно организовать отправку письма на почтовый ящик через МРВ? В справке нашел канал call.email, но про него написано очень мало. Не ясно, например, как вызвать канал? Единицей во вход? Или как быть с аутентификацией на сервере?
[ 27.06.2012, 15:36: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Запускаться канал CALL_EMAIL должен подачей в него 1.
Необходимо отметить, что в последенее время провайдерами приняты серьезные меры по защите почтовых серверов. В результате усилены требования к идентфикации пользователей вплоть до необходимости передачи не только логина и пароля, но и своего обратного адреса.
Соответственно после выпуска релиза 6.07 механизм отправки электронных писем в Trace Mode 6 переработан с целью удовлетворения указанным требованиям. Кроме того, снята необходимость использования .Net Framework. Изменения будут внесены в ближайший релиз.
Posted by Hip67 (Участник № / Member № 4427) on :
а не могли бы вы в общих чертах описать принцип отправки писем, который реализован сейчас (в версии 6.06 6.07)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В релизе 6.06 отправка электронных писем не поддерживалась. В релизе 6.07 код был прописан и документирован, но как я уже писал выше, реализованный в нем механизм отстал от текущих требований по защите почтовых серверов. Поэтому для следующего релиза мы его откорректировали введением дополнительных ключей в файле конфигурирования запуска узла.
Сам принцип отправки писем состоит в следующем.
Создается канал CALL.EMAIL, который настраивается так: Кодировка (79, CODE) – имя сервера исходящих сообщений (SMTP); Комментарий (80, CMNT) – адрес электронной почты получателя; Arg0 (тип данных – любой целочисленный) – для служебных целей; Arg1 (STRING) – тема; Arg2 (STRING) – имя вложенного файла (без пути – из папки проекта); Arg3 (STRING) – сообщение. Строки в аргументы Arg1, Arg2 и Arg3 должны выдаваться из программы, с экрана или из аргументов канала CALL.STRING.
Дополнительно в файле конфигурирования запуска узла соответствующими ключами задаются логин, пароль и собственный адрес отправителя.
Posted by Hip67 (Участник № / Member № 4427) on :
имеется в виду файл конфигурирования в папке с узлом проекта? TMcom_.cnf?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да.
Posted by Hip67 (Участник № / Member № 4427) on :
не удается получить сообщение. после подачи единицы в call.email атрибут Интервал (7, Р) возвращает 0. в файле TMcom_0.cnf прописано следующее (иксами заменил реальные адреса, логин и пароль): EMAIL_SRV=smtp.yandex.ru EMAIL_DEF=xxx@yandex.ru EMAIL_FROM=xxx@yandex.ru EMAIL_LOGIN=xxx EMAIL_PASSW=xxx END_OF_CNF
то есть пытаюсь отправить письмо сам себе. Немного не понятно, как задать тему и сообщения письма. я программой присваиваю атрибутам Arg01 и Arg03 канала CALL.EMAIL значения, соответственно, 'theme' и 'message'. но присвоились ли они, не знаю где посмотреть.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ответ дан почтой.
Posted by VadimNN (Участник № / Member № 5312) on :
Столкнулся с такой же проблемой, сервер тоже smtp.yandex.ru Если имя сервера задать в файле TMcom_0.cnf, то в логе появляется ошибка Mailer error e0030003, если сервер задать кодировке (79, CODE) канала EMAIL, то в логе ошибка Mailer error e0040001(server invalid connect). В обоих случаях, при вызове канала, время цикла подскакивает до 1,5-2сек и в tm6_log.txt появляется запись Calc loop is big.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В каком релизе Вы работаете? Пришлите, пожалуйста, проект и папку узла на адрес техподдержки hotline@adastra.ru.
Posted by VadimNN (Участник № / Member № 5312) on :
Релиз 6.08 Проект выслал
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В проекте никак не задан адрес, по которому надо отправить письмо. Также не задан пароль почтового ящика на Яндексе.
Posted by VadimNN (Участник № / Member № 5312) on :
Адрес был задан программно, пароль разумеется вам выслан не был
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Сообщение об ошибке Mailer error e0030003 появляется тогда, когда не полностью сформированы реквизиты отправителя и адресата.
В Вашем файле я только заменил Ваш ящик на Яндексе на свой (логин, пароль и адрес). Никаких изменений в сам проект не вносил. Из Вашего проекта отправил Вам письмо, Вы его получили.
В файле TMcom_0.cnf у Вас логин задан с лишним пробелом в конце.
Posted by VadimNN (Участник № / Member № 5312) on :
Как оказалось в корпоративной сети был закрыт доступ на исходящие SMTP-сообщения. Проблема решилась.
Posted by Vladimir_tnb (Участник № / Member № 5824) on :
Отправка на email функционирует в профайлере или только из МРВ? При запуске из профайлера в логе все чисто.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправка сообщений по email поддерживается и в МРВ, и в профайлере.
Posted by Vladimir_tnb (Участник № / Member № 5824) on :
Похожая проблема, выше по топику. Не могу справиться с отправкой почты. Релиз 6.08
(22:7:14) INF_LOAD:Starting... 10_0 (22:7:14) INF_RTM:Detected NT5.RTM 5.1 (22:7:14) INF_RTM:Professional TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.08.0 (22:7:14) ._.:RTM (22:7:14) INF_LOAD:max channel = 65535 (22:7:14) INF_LOAD:Load Channels = 58 (22:7:14) INF_LOAD:Templates=28 (math=5 sql=0 scr=22 doc=1 pnl=0) (22:7:14) INF_LOAD:Objects = 3 (22:7:14) INF_RTM:Timer=0.055s CalcLoop=55ms (22:7:14) INF_LOAD:LoadTime=0.688s CalcPeriod=55ms (22:7:14) INF_RTM:free_mem=463(479) handle=0 user=0 gui=0 after load (22:7:14) INF_RTM:DayLight enabled (22:7:37) INF_RTM:start time is 1.953 s (22:7:37) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (22:7:37) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0-src4] (22:7:37) INF_RTM:free_mem=463 handle=0 user=0 gui=0 after start (22:7:37) INF_GRAPH:popup=18 scrref=0 trend=15,0 update=1 (22:8:0) ERR_RTM:Message or File for send not found (22:11:27) INF_RTM:stoping... (22:11:27) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0-src0] (22:11:27) INF_RTM:stop time is 1.688 s (22:11:27) INF_RTM:number of calculation = 4102 (22:11:27) INF_RTM:END OF WORK
Вижу на что ругается, а вот как правильно сделать - не знаю.
В аргументах CALL значения присутствуют. Интернет чистый, без прокси. Просьба, помочь советом. Проект высылаю на hotline@adastra.ru
Заранее спасибо.
Posted by Nico (Участник № / Member № 5342) on :
Message or File -> собщение или файл для отправки не найдены
Posted by Vladimir_tnb (Участник № / Member № 5824) on :
Message or File - это я вижу, с этим и борюсь. Файл есть и в папке проекта (создал 1.txt) и пробовал указывать прямой путь типа c:\1.txt, разумеется создав его и там. Значения аргументов каналов CALL EMAIL вывел на экран - вижу что присваиваются правильно.
т.е. применительно к Arg2 (STRING)- значение 1.txt либо c:\1.txt присутствует. Что не так?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проект получили. Рекомендации переданы почтой.
Posted by Vladimir_tnb (Участник № / Member № 5824) on :
Почта работает,спасибо. Возможно-ли одновременно вывод отчета на принтер? Посылаю в атрибут документа (34 Параметр/глубина выборки) бит 1х1 - формируется новый (суточный в моем случае) отчет. Все прекрасно. Почта отлично доходит с суточным отчетом. Дополнительно посылаю в биты 5х1 и 6х1 - на почту приходит отчет, сформированный добавлением к предыдущим отчетам. Печать отчета проходит нормально, но так же накопительная. Где ошибка? Хотелось бы именно суточный архив и на почте и на принтере.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Я на Вашем проекте ввел значение атрибута ПАРАМЕТР=98 (0x62), что соответствует взведенным битам 2, 5 и 6, и получил полное обновление файла документа при каждой генерации.