ssmtp send email

Started by hsvt, September 01, 2015, 07:05:13 PM

Previous topic - Next topic

hsvt

Как можно подружить 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.

hsvt

#1
Пробовал так же указывать сразу наш внутренний корпоративный сервер.

На 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 перестал считывать конфиг локального релея в ОС...

Alex Kirhenshtein

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.

hsvt

#3
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

kozlov_ao

Дак ОС и не должна ничего понимать... %m в Action переворачивается в текст...

Victor Kirhenshtein

Возможно стоит добавить кавычки вокруг %m?

hsvt

С этим вопросом пока что разобрались, я сделал всё через postfix smarthost, благодарю. Теперь буду думать как прикрутить SMS оповещения, в принципе есть GSM модем старенький (Телеофис Office Gate) с антеной, или же с помощью sms.ru и отправки на почту с конвертацией в sms...но это уже отдельная тема.

hsvt

#7
Возникла еще проблемка, письма с нод которые содержат кириллицу в имени приходят с пустым именем в макросе %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.

Victor Kirhenshtein

Попробуйте поставить параметр сервера MailEncoding в Windows-1251 и CodePage в cp1251.

hsvt

Quote from: Victor Kirhenshtein on October 29, 2015, 10:09:30 PM
Попробуйте поставить параметр сервера MailEncoding в Windows-1251 и CodePage в cp1251.

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