php fsockopen не может подключиться, ошибка таймаута соединения

Я запускаю локальный сервер apache на машине ubuntu, и я пытаюсь использовать класс phpmailer для отправки почты. Он пытается подключиться fsockopen к почтовому серверу, но он выдает ошибку тайм-аута. Я пытался установить тайм-аут на 15 секунд без везения. Он работает на других машинах.

Как я могу узнать, заблокировал ли мой интернет-провайдер запросы? Почтовый сервер отвечает на ping.

команда ping и SMTP не проходят через один и тот же порт; возможно, что один порт открыт, а не другой.

Если есть тайм-аут, это, вероятно, означает:

  • либо ваш SMTP-сервер не принимает подключения с вашего сервера
  • или что-то где-то (например, брандмауэр) блокирует ваши запросы.

Если у вас есть ssh-доступ к серверу, используя telnet в командной строке, чтобы попытаться подключиться к SMTP-серверу и отправить команды SMTP, вы можете получить дополнительную информацию …

Вот несколько ссылок, которые показывают примеры SMTP-сессии через telnet:

  • Отправка электронной почты через Telnet
  • Отправить почту через SMTP с помощью Telnet

Если вы не можете подключиться к серверу, возможно, вы получите сообщение об ошибке (сообщите, что вам не разрешено подключаться, например) , или он снова закроется … Что, вероятно, означает, что ваш запрос где-то заблокирован. ..

В этом случае обратитесь к сетевому администратору; возможно, у него будет некоторое представление об открытии какого-либо порта на брандмауэре.