Устранение распространенных проблем с подключением

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

Что нужно проверить:
  • Ваш сервер может разрешить IP-адреса для подключения к нашим API или SMTP серверам.
  • Вы можете подключиться к нашим серверам с вашего сервера. Порты 80 или 443 для API, и порты 25, 465 или 2525 для SMTP.
  • При обращении к нам, укажите публичный IP-адрес (а) вашего сервера, чтобы мы могли быстрее исследовать логи для решения проблемы с подключением.
Ниже приведены команды, которые мы просим вас выполнить на вашем сервере. Если вы можете предоставить полный вывод этих команд при обращении в службу поддержки, это поможет нам быстрее решить проблему с подключением.

Устранение проблем с подключением к API

Сначала убедитесь, что DNS работает корректно:
nslookup api.haskimail.ru
Это должно вернуть публичный IP для нашего API. Если запрос не удастся, проверьте, можете ли вы выполнить запросы для других публичных доменов, например, example.com, yahoo.com, google.com и т. д.

Затем проверьте, что вы можете установить соединение и скачать контент с нашего API:
curl -vvv https://api.haskimail.ru
Если это не удалось, и ваши системные сертификаты устарели, curl может не проверить TLS-соединение с API. Попробуйте выполнить команду без проверки TLS:
curl -vvv -k https://api.haskimail.ru
Если это всё равно не работает, попробуйте подключиться без шифрования:
curl -vvv http://api.haskimail.ru
Если вас беспокоят проблемы с задержкой, полезно будет выполнить команду с использованием time:
time curl -vvv https://api.haskimail.ru
Если все вышеуказанные шаги прошли успешно, тогда стоит проверить код.

Устранение проблем с подключением к SMTP

Сначала убедитесь, что SMTP включен на сервере HaskiMail. SMTP включен по умолчанию на новых серверах HaskiMail, но если он был отключён, включите его снова в настройках канала (Канал > Настройки).

Как и в случае с API, мы хотим убедиться, что ваше соединение может разрешить DNS для наших SMTP серверов и что подключение возможно.
nslookup smtp.haskimail.ru
Это должно вернуть один из наших публичных SMTP IP.
Затем проверьте, что вы можете подключиться к одному из следующих портов: 25, 465 или 2525.
Примечание: Некоторые интернет-провайдеры и хостинг-провайдеры блокируют эти порты. В других случаях они перенаправляют этот трафик на свои собственные SMTP серверы.
Попробуйте открыть соединение с помощью telnet и отправить две команды (EHLO <hostname>, затем QUIT), как показано ниже:
telnet smtp.haskimail.ru <порт>
EHLO localhost
QUIT
Пример успешного теста:
telnet smtp.haskimail.ru 25
Trying 147.75.195.176...
Connected to smtp.haskimail.ru.
Escape character is '^]'.
220 smtp.haskimail.ru ESMTP p-pm-smtp02-pktewr1
EHLO localhost
250-smtp.haskimail.ru
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
Если тест прошёл успешно, вы можете отправить простое тестовое письмо с помощью командной утилиты swaks:
swaks --auth --tls -s smtp.haskimail.ru --to="you@example.com" --from="your-sender-signature@example.com" --port=25
При запуске этой команды вам нужно будет ввести ваше имя пользователя и пароль — оба значения являются вашим Server API Token.

Если все эти шаги прошли успешно, тогда стоит проверить код SMTP-клиента в вашем приложении.