The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Проверка smtp-порта на удалённом хосте."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Проверка smtp-порта на удалённом хосте."  –1 +/
Сообщение от korbnik email(ok) on 09-Авг-17, 10:15 
Добрый день!

Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть письма уходят на него нормально? Это надо для zabbix-а.

Заранее благодарен. Борис.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проверка smtp-порта на удалённом хосте."  +/
Сообщение от ALex_hha (ok) on 09-Авг-17, 14:20 
> Добрый день!
> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
> письма уходят на него нормально? Это надо для zabbix-а.
> Заранее благодарен. Борис.

http://www.jetmore.org/john/code/swaks/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проверка smtp-порта на удалённом хосте."  +/
Сообщение от ыы on 09-Авг-17, 16:32 
>> Добрый день!
>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>> письма уходят на него нормально? Это надо для zabbix-а.
>> Заранее благодарен. Борис.
> http://www.jetmore.org/john/code/swaks/

это перл.
на перле -задача решается более тривиальным способом чем через swaks

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Проверка smtp-порта на удалённом хосте."  +/
Сообщение от Andrey Mitrofanov on 09-Авг-17, 17:02 
>>> Добрый день!
>>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>>> письма уходят на него нормально? Это надо для zabbix-а.
>>> Заранее благодарен. Борис.
>> http://www.jetmore.org/john/code/swaks/
> это перл.
> на перле -задача решается более тривиальным способом чем через swaks

Как и без perl-а, да. //Проверил, echo 0 поучил. Даже письмо себе пришло, хотя такой задачи не было.

#!/bin/bash

relay='<<<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 помогают себе сами.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Проверка smtp-порта на удалённом хосте."  +/
Сообщение от ALex_hha (ok) on 10-Авг-17, 16:45 
>>> Добрый день!
>>> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
>>> письма уходят на него нормально? Это надо для zabbix-а.
>>> Заранее благодарен. Борис.
>> http://www.jetmore.org/john/code/swaks/
> это перл.

и?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Проверка smtp-порта на удалённом хосте."  –1 +/
Сообщение от ыы on 09-Авг-17, 16:37 
> Добрый день!
> Как проверить в bash-скрипте 25 (smtp) порт, что он работает, то есть
> письма уходят на него нормально? Это надо для zabbix-а.
> Заранее благодарен. Борис.

работающий порт и нормально уходящие на него письма- две большие разницы.

проверить порт просто- надо открыть на него соединение. и если он работает- оно откроетя. если ошибка- то порт недоступен. по любой причине.

проверить что письма на него уходят- несколько сложнее. это можно сделать просто отправив письмо. любым способом. кому? ну... наверное лучше- себе :)

можно сделать нечто среднее - например установить коннект, получить баннер- и успокоится.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "a, zabbix же!"  +/
Сообщение от Andrey Mitrofanov on 10-Авг-17, 17:04 
> работающий порт и нормально уходящие на него письма- две большие разницы.

Туда лучше не ходить: следующий вопрос будет "как мне слать письма себе через гугль и проверять, что они, да!, пришли". :-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...

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "a, zabbix же!"  +/
Сообщение от ALex_hha (ok) on 15-Авг-17, 17:20 
> то самое установить, получить, успокоиться:
> 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 обслуживает, а затем проверять пришли ли письма.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру