Добрый день!Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть письма уходят на него нормально? Это надо для zabbix-а.
Заранее благодарен. Борис.
> Добрый день!
> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
> письма уходят на него нормально? Это надо для zabbix-а.
> Заранее благодарен. Борис.
>> Добрый день!
>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>> письма уходят на него нормально? Это надо для zabbix-а.
>> Заранее благодарен. Борис.
> http://www.jetmore.org/john/code/swaks/это перл.
на перле -задача решается более тривиальным способом чем через swaks
>>> Добрый день!
>>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>>> письма уходят на него нормально? Это надо для zabbix-а.
>>> Заранее благодарен. Борис.
>> http://www.jetmore.org/john/code/swaks/
> это перл.
> на перле -задача решается более тривиальным способом чем через swaksКак и без perl-а, да. //Проверил, echo 0 поучил. Даже письмо себе пришло, хотя такой задачи не было.
#!/bin/bashrelay='<<<EDIT HERE>>>'
a_line='Zis iz ein Tezt.'
a_line="$(date +%F\ %T) ${a_line}"
frm='${USER}@${HOSTNAME}'
to='<<<EDIT HERE #2>>>'#echo \
LANG=ru_RU.UTF-8 mail \
-s "${a_line}" \
-S from="${frm}" \
-S smtp=${relay} \
-v \
$to \
<<EOF
Dear $to,${a_line}
Gr.r.r.
EOF
echo $?ДИЗКЛЕЙМЕР: Никакой поддержки этому скрипту не положено. Вариации /usr/bin/mail и прочих FreeBSD помогают себе сами.
>>> Добрый день!
>>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>>> письма уходят на него нормально? Это надо для zabbix-а.
>>> Заранее благодарен. Борис.
>> http://www.jetmore.org/john/code/swaks/
> это перл.и?
> Добрый день!
> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
> письма уходят на него нормально? Это надо для zabbix-а.
> Заранее благодарен. Борис.работающий порт и нормально уходящие на него письма- две большие разницы.
проверить порт просто- надо открыть на него соединение. и если он работает- оно откроетя. если ошибка- то порт недоступен. по любой причине.
проверить что письма на него уходят- несколько сложнее. это можно сделать просто отправив письмо. любым способом. кому? ну... наверное лучше- себе :)
можно сделать нечто среднее - например установить коннект, получить баннер- и успокоится.
> работающий порт и нормально уходящие на него письма- две большие разницы.Туда лучше не ходить: следующий вопрос будет "как мне слать письма себе через гугль и проверять, что они, да!, пришли". :-Q
jwz-стайл: Каждый мониторинг стремится расти, пока не научится читать почту.
--https://en.wikipedia.org/wiki/Jamie_Zawinski#Principles> проверить порт просто- надо открыть на него соединение.
> можно сделать нечто среднее - например установить коннект, получить баннер- и успокоится.Simple Check
net.tcp.service[smtp,,465]и пр.
net.tcp.service[smtp]
""Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service[tcp,<ip>,port]""
--https://www.zabbix.com/documentation/3.0/manual/config/items...+
то самое установить, получить, успокоиться:
https://www.zabbix.com/documentation/3.0/manual/appendix/ite...
> то самое установить, получить, успокоиться:
> https://www.zabbix.com/documentation/3.0/manual/appendix/ite...smtp
Creates a TCP connection and expects the first 3 characters of the response to be “220”, followed by a space, the line ending or a dash. The lines containing a dash belong to a multi-line response and the response will be re-read until a line without the dash is received. Then sends “QUIT\r\n”. Default port 25 is used if not specified.это проверка из разряда "на отъе...ь" :D
То, что smtp сервер отправил нам smtp банер ничего не говорит о его работоспособности, от слова совсем.
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Ubuntu)
helo localhost
250 mail.example.com
mail from:<>
250 2.1.0 Ok
rcpt to:root
451 4.3.5 Server configuration error$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Ubuntu)
helo localhost
250 mail.example.com
mail from:<>
250 2.1.0 Ok
rcpt to:root
554 5.7.1 <root>: Recipient address rejected: Access deniedТак что в идеале конечно, надо отправлять письма - на сторонний сервис (gmail/yandex/etc) и на домен, который данный postfix обслуживает, а затем проверять пришли ли письма.