В настоящее время я пытаюсь отладить веб-сайт, основанный на Elgg (я его не разрабатывал), и я бы хотел отправить электронные письма непосредственно с локальной машины разработки (WinXP). Я запускаю WAMP с Apache 2.2.11 и PHP 5.3.0
После некоторого поиска самое простое решение, с которым я столкнулся, использует фальшивый sendmail для отправки его на мою учетную запись GMail / Google Apps через SMTP и позволяет ей отправлять. Проблема в том, что я не получаю никаких ошибок, но письмо не отправляется.
Вот что я сделал:
sendmail_path = "C:\Program Files\wamp\bin\sendmail\sendmail.exe -t"
; SMTP = localhost
; smtp_port = 25
; sendmail_from = xxx@domain.com
; mail.force_extra_parameters =
Файл mail.log показывает следующее:
mail() on [C:\Program Files\wamp\www\mail.php:9]: To: xxx -- Headers: From: xxx Reply-To: xxx X-Mailer: PHP/5.3.0
Я предполагаю, что проблема в том, что опция по умолчанию Windows (указать сервер, а не утилиту sendmail) не переопределяется. В phpinfo()
я все еще получаю параметры SMTP -> localhost
и smtp_port -> 25
, хотя я их прокомментировал.
Если бы кому-то удалось это сделать, я бы очень признателен за помощь. По-моему, использование fake sendmail намного проще, чем установка почтового сервера на вашем компьютере.
Благодаря!
PS Пожалуйста, не предлагайте PHPMailer и тому подобное, потому что я должен использовать функцию mail (). Так работает Элгг.
В конце концов, мне это удалось. Проблема заключалась в том, что PHP имел ошибку при разборе файлов .ini с пробелами в пути (для sendmail). Это было исправлено в версии 5.3.0, но в руководстве не было информации об этом.
Итак, да, можно использовать sendmail с PHP в Windows: D.
Спасибо всем за ваше время!
Убедитесь, что SMTP-служба запущена на вашем локальном компьютере и открыт SMTP-порт (25).
Проверьте работу служб (Run-> services.msc) и найдите Send Mail Transfer
Если вы не можете найти SMTP в списке сервисов, вы должны установить его: Добавить, Run-> appwiz.cpl-> Добавить Удалить компоненты Windows-> IIS-> Подробности-> SMTP
Я не уверен, что это помогает или нет, то, что я делал в этих сценариях, – это настроить, посмотреть на мою машину и настроить ее на посылку каждые 5 минут или около того, таким образом мой ip / machine был аутентифицирован против pop, и если я просто установил:
SMTP = localhost smtp_port = 25
в php.ini почтовая функция работала нормально. Поэтому в вашем случае просто установите свой внешний вид для работы с pop и используйте этот smtp в php.ini и, надеюсь, он должен работать. Я не проверил это GMail.
PS Пожалуйста, не предлагайте PHPMailer и тому подобное, потому что я должен использовать функцию mail (). Так работает Элгг.
… если вы не используете плагин, который меняет это поведение:
http://community.elgg.org/pg/plugins/costelloc/read/16498/phpmailer