NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: hsvt on September 01, 2015, 07:05:13 PM

Title: ssmtp send email
Post by: hsvt on September 01, 2015, 07:05:13 PM
Как можно подружить NetXMS и простейший агент пересылки ssmtp ? Сейчас получаю "SMTP Communication failure"

ssmtp.conf

mailhub=smtp.mail.ru:465
AuthUser="[email protected]"
AuthPass="password"
UseTLS=YES


В настройках NetXMS указал SMTPserver = mail.smtp.ru

Необходимо чтобы NetXMS отправлял через ssmtp и считывал ssmtp.conf.
Title: Re: ssmtp send email
Post by: hsvt on September 02, 2015, 01:25:40 PM
Пробовал так же указывать сразу наш внутренний корпоративный сервер.

На mail сервере в логах:

Warning! Authentication required!

Sep  2 13:24:28 mail exim[6430]: 2015-09-02 13:24:28 [6430] unexpected disconnection while reading SMTP command from (netxms) []:16597 I=[]:25


Такое ощущение что NetXMS перестал считывать конфиг локального релея в ОС...
Title: Re: ssmtp send email
Post by: Alex Kirhenshtein on September 02, 2015, 01:47:53 PM
NetXMS не умеет читать конфиги локального релея – это задача MTA – как тот будет читать свой конфиг.
Отсылка почты идет через SMTP, локальный или удаленный (без поддержки авторизации, так как полноценная поддержка – серьезный геморой, а различные MTA умеют это из коробки).

Я бы советовал заменить ssmtp на локальный postfix/exim4 в режиме smarthost (поднимает SMTP на localhost и отсылает всё на следующий сервер) – конфигурации там 10 строк у каждого.
Второй вариант – прописать на существующем релее исключение в авторизации для IP сервера, где запущен NetXMS.
Третий – добавить server action (configuration -> action configuration -> new -> type=execute on management server) c коммандой типа:echo %m | mail -s "subject" [email protected] и использовать этот action в EPP.
Title: Re: ssmtp send email
Post by: hsvt on September 02, 2015, 05:37:11 PM
Quote from: Alex Kirhenshtein on September 02, 2015, 01:47:53 PM
NetXMS не умеет читать конфиги локального релея – это задача MTA – как тот будет читать свой конфиг.
Отсылка почты идет через SMTP, локальный или удаленный (без поддержки авторизации, так как полноценная поддержка – серьезный геморой, а различные MTA умеют это из коробки).

Я бы советовал заменить ssmtp на локальный postfix/exim4 в режиме smarthost (поднимает SMTP на localhost и отсылает всё на следующий сервер) – конфигурации там 10 строк у каждого.
Второй вариант – прописать на существующем релее исключение в авторизации для IP сервера, где запущен NetXMS.
Третий – добавить server action (configuration -> action configuration -> new -> type=execute on management server) c коммандой типа:echo %m | mail -s "subject" [email protected] и использовать этот action в EPP.

Спасибо за ответ. Я скомбинировал 2 и 3 варианты.

Вот только с 3 вариантом почему то не отсылает, создал action (execute command on managment server)

/bin/echo %m | /usr/bin/mail -s "subject" [email protected]

И добавил его к EPP условию. Пробую через nxevent SYS_THRESHOLD_REACHED, но ничего не приходит, а из консоли отрабатывает.

Хотя к примеру, если написать в command mkdir то всё отрабатывает.

UPD: ОС не понимает макросы %m и т.д., т.к. если просто echo "test" то отрабатывает. Как быть тогда? Postix или Exim4 что то не хочется поднимать. Попробовал еще msmtp но он не умеет вроде бы smarthost
Title: Re: ssmtp send email
Post by: kozlov_ao on September 05, 2015, 05:41:37 PM
Дак ОС и не должна ничего понимать... %m в Action переворачивается в текст...
Title: Re: ssmtp send email
Post by: Victor Kirhenshtein on September 08, 2015, 05:39:21 PM
Возможно стоит добавить кавычки вокруг %m?
Title: Re: ssmtp send email
Post by: hsvt on September 09, 2015, 12:48:31 PM
С этим вопросом пока что разобрались, я сделал всё через postfix smarthost, благодарю. Теперь буду думать как прикрутить SMS оповещения, в принципе есть GSM модем старенький (Телеофис Office Gate) с антеной, или же с помощью sms.ru и отправки на почту с конвертацией в sms...но это уже отдельная тема.
Title: Re: ssmtp send email
Post by: hsvt on October 16, 2015, 08:03:48 PM
Возникла еще проблемка, письма с нод которые содержат кириллицу в имени приходят с пустым именем в макросе %n

В теле письма приходит так:

Content-Type: text/plain; charset=iso-8859-1

Как сделать отображение имени ноды в письме если она 1251 ?

UPD: Попробовал установить CodePage utf8:

[16-Oct-2015 20:03:09.987] [WARN ] Unable to set codepage to utf8

Сейчас попробую собрать без unicode.
Title: Re: ssmtp send email
Post by: Victor Kirhenshtein on October 29, 2015, 10:09:30 PM
Попробуйте поставить параметр сервера MailEncoding в Windows-1251 и CodePage в cp1251.
Title: Re: ssmtp send email
Post by: hsvt on October 30, 2015, 11:36:19 AM
Quote from: Victor Kirhenshtein on October 29, 2015, 10:09:30 PM
Попробуйте поставить параметр сервера MailEncoding в Windows-1251 и CodePage в cp1251.

Спасибо, вроде бы помогло.