php fsockopen не может соединиться, ошибка тайм-аута соединения - PullRequest
0 голосов
/ 09 сентября 2009

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

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

1 Ответ

2 голосов
/ 09 сентября 2009

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

Если время ожидания истекло, это, вероятно, означает, что:

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

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

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

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

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

...