2009-09-09 2 views
0

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

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

+0

С каким сервером вы подключаетесь? Большинство интернет-провайдеров не разрешают исходящие порты 25 подключений к любому серверу, кроме своего собственного. Попробуйте изменить исходящий сервер на SMTP-сервер своего интернет-провайдера. – Craig

+0

Можете ли вы использовать MUA (thunderbird/outlook/mail.app) для отправки электронных писем через него? – Shoan

+1

У меня была эта проблема с 'fsockopen', где у хозяина было несколько IP-адресов. Я мог использовать telnet/swaks для одного и того же хоста без проблем, но fsockopen всегда был приурочен. Используя 'gethostfromname()', а затем напрямую используя IP, 'fsockopen' был намного счастливее и не успевал. Очень странно. – artfulrobot

ответ

2

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

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

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

Если у вас есть доступ по SSH к серверу, используя Telnet в командной строке, чтобы попытаться соединиться с сервером SMTP, а также отправлять команды SMTP, может позволить вам получить больше информации ...

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

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

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

+0

спасибо, мой интернет-провайдер блокировал порт 25 –