windows — PHP mail () изнутри виртуальной машины VMWare (Win7)

Я перепробовал все и посмотрел везде (по крайней мере, я так думаю!), Но не могу найти, что я делаю неправильно. Я убежден, что это что-то довольно глупое, что я упустил из виду.

Я пытаюсь отправлять электронные письма из приложения PHP, установленного на виртуальной машине Windows 7. Хост запускает VMWare с NAT & переадресация портов на каждую из ее виртуальных машин.

Рассматриваемая виртуальная машина имеет собственный IP-адрес внутри подсети хоста.
Он запускает WAMP с Apache / PHP / MySQL.
Чтобы обратиться к своему веб-серверу из глобальной сети, используется IP-адрес хоста и добавляется определенный порт, который перенаправляет на порт 80 виртуальной машины.

По разным причинам, которые я не буду здесь обсуждать, я должен использовать функцию PHP mail (). Я хорошо знаю, что эта функция не является оптимальной и не лучшим решением, но я вынужден использовать ее в данный момент.

Хост имеет доступ к уже существующему (и неизменяемому, у меня на него нет прав) SMTP-серверу с именем «mail», порт 25. Поэтому я настроил конфигурацию PHP виртуальной машины следующим образом:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail
; http://php.net/smtp-port
smtp_port = 25

Затем я настроил NAT на хосте Vmware так, чтобы 25 портов хост-машины перенаправляли на 25 портов виртуальной машины. (ни одна другая виртуальная машина в данный момент не нуждается, и у меня ограниченный контроль над архитектурой сети VMware)

Пользователь Blaatpraat напомнил мне, что в этом случае переадресация портов не требуется. Удалена конфигурация NAT.

К сожалению, не повезло.
Я получаю эту ошибку, когда пытаюсь отправить электронное письмо с виртуальной машины.

Warning: mail() [function.mail]: Failed to connect to mailserver at "mail" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in F:\wamp\www\mailtest.php on line 4

Я должен уточнить, что виртуальная машина может нормально пинговать «почтовый» сервер.

Эта же функция прекрасно работает, если я попробую ее напрямую с хост-машины.

Есть кое-что, что я должен ошибаться в переадресации портов, но я не уверен, что.

Кто-нибудь может это увидеть? Можно ли вообще сделать такую ​​вещь? По сути, я просто пытаюсь получить доступ и использовать существующий SMTP-сервер в глобальной сети, доступной с хоста, внутри виртуальной машины.

Заранее большое спасибо за вашу помощь

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]