2015-01-23 3 views
0

Не найдя ни одного ответа на этот вопрос: PHP mail() function from inside VMWare virtual machine (Win7)Не можете Telnet к серверу SMTP порт 25, но PHP почты() работает

я решил попробовать что-то новое. Я настроил SMTP-реле на машине. Я могу использовать его и получать почту внутри своего каталога буферизации. Однако, когда я пытаюсь настроить его для пересылки почты на уже настроенный SMTP-сервер (называемый «почта», на порт 25), он терпит неудачу.

Telnet также терпит неудачу в порту 25, поэтому кажется нормальным, что он не сработает - «Соединение отказано» - это ошибка из telnet.

Но действительно странно, что если я настрою сервер Apache/PHP на этом компьютере и использую почтовую функцию PHP (настроенную для подключения к «почте» в порту 25), это работает! Я могу отправлять электронные письма с PHP (мне это не нужно), но я не могу подключиться к компьютеру.

Кто-нибудь когда-нибудь видел что-то подобное? Это сводит меня с ума!

Заранее спасибо

ответ

0

Вы проверили настройки брандмауэра? Если ваш брандмауэр не разрешает подключения с внешних адресов к порту 25, но позволяет локальные подключения к порту 25, это объясняет, почему PHP может использовать его просто отлично, но вы не можете подключаться извне.

+0

Брандмауэр отключен для тестирования на клиентском компьютере, который пытается получить доступ к удаленному SMTP-серверу. (сеть закрыта) У меня нет доступа к настройкам брандмауэра SMTP-сервера. Я смущен в вашем ответе, хотя - почему локальные подключения к порту 25 позволяют PHP использовать его? поскольку PHP настроен на удаленный SMTP-сервер? – SharlynK

0

Вы пытались использовать ip-адрес «mail» вместо имени хоста.

Сетевые устройства на Win 7 используют ipv4 и ipv6 по умолчанию. Если вы укажете имя_компьютера (а не запись в DNS устройства) при открытии соединения (т. Е. Запуск telnet), чем «mail», может быть разрешено либо ipv4, либо ipv6-адрес этой машины (более или менее) случайным образом , Если ваш почтовый сервер только прослушивает адрес ipv4, вы не получите соединение, когда «почта» будет разрешена.

Вы можете также проверить эту проблему, когда на машине «почта» установлено более одного сетевого устройства. Затем он может разрешить имя компьютера одному из адресов сетевых устройств.

+0

Да, у меня есть. Пробовал DNS и IP. Работает с PHP mail(), но не с telnet. :( Спасибо за ваш ответ. – SharlynK