40 lines
1.5 KiB
Bash
40 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
||
# Проверка доступа к mail.cock.li (IMAP/SMTP) с текущей машины.
|
||
# Запуск на DO: ssh hunab-prod 'bash -s' < docs/firemail/validate_mail_from_do.sh
|
||
# Или скопировать на сервер и запустить там.
|
||
|
||
MAIL_IP="${MAIL_IP:-37.120.193.124}"
|
||
MAIL_HOST="${MAIL_HOST:-mail.cock.li}"
|
||
TIMEOUT=10
|
||
|
||
check() {
|
||
local name="$1"
|
||
local cmd="$2"
|
||
if eval "$cmd" >/dev/null 2>&1; then
|
||
echo "OK $name"
|
||
return 0
|
||
else
|
||
echo "FAIL $name"
|
||
return 1
|
||
fi
|
||
}
|
||
|
||
echo "Проверка доступа к $MAIL_HOST ($MAIL_IP)"
|
||
echo "----------------------------------------"
|
||
|
||
# IMAP 993
|
||
check "IMAP 993 (SSL)" \
|
||
"timeout $TIMEOUT openssl s_client -connect $MAIL_IP:993 -servername $MAIL_HOST -brief </dev/null 2>&1 | grep -q 'CONNECTION ESTABLISHED'"
|
||
|
||
# SMTP 587
|
||
check "SMTP 587 (STARTTLS)" \
|
||
"timeout $TIMEOUT openssl s_client -connect $MAIL_IP:587 -starttls smtp -servername $MAIL_HOST -brief </dev/null 2>&1 | grep -q 'CONNECTION ESTABLISHED'" || true
|
||
|
||
# SMTP 465
|
||
check "SMTP 465 (SSL)" \
|
||
"timeout $TIMEOUT openssl s_client -connect $MAIL_IP:465 -servername $MAIL_HOST -brief </dev/null 2>&1 | grep -q 'CONNECTION ESTABLISHED'" || true
|
||
|
||
echo "----------------------------------------"
|
||
echo "Итог: IMAP 993 должен быть OK для приёма почты через туннель."
|
||
echo "SMTP 465/587 часто недоступны с хостингов (DO и др.); отправка — напрямую с машины или через webmail."
|