PHP почта не будет отправляться с Windows Server 2008 - PullRequest
3 голосов
/ 07 апреля 2011

У меня есть два сервера. Один (linux) отправит почту нормально, используя скрипт ниже. Второй (Windows Server 2008) ничего не отправляет.

<?php mail ( "nobody@email.com", "Contact Us Form", "This is an email from your site", "From: nobody@email.com" )
?>

Ответы [ 2 ]

4 голосов
/ 07 апреля 2011

mail () работает очень по-разному на Linux и Windows.

  • В Linux он направляет вашу почту в бинарный файл sendmail, который выполняет всю работу
  • В Windows он фактически должен действовать как MTA для передачи почты другому приложению.

В Windows лучше всего установить SMTP-информацию, чтобы PHP мог передавать почту на другой сервер, который позаботится об окончательной доставке.

http://ca2.php.net/manual/en/mail.configuration.php#ini.smtp

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

1 голос
/ 07 апреля 2011

Проверьте ваш PHP.ini. Вы также можете переопределить их с помощью функции ini_set на уровне скрипта (я думаю).

[mail function]
; For Win32 only.
SMTP = xxx.xxx.xxx.xxx
smtp_port = xx
...