Интересный факт с sendmail.exe при использовании функции mail в PHP - PullRequest
0 голосов
/ 15 октября 2011

Я уже установил для sendmail_path путь 'sendmail.exe', но PHP не отправлял электронную почту.это требует почтовый сервер или что-то.

PHP сказал, что не может подключиться к localhost через порт 25. Интересный факт в файле php.ini заключается в том, что выше пути к «sendmail.exe» указано «Только для Unix! ????»,но sendmail.exe - исполняемый файл Windows.[ Я полагаю, что sendmail.exe, который у меня есть в XAMPP, является Windows-версией Unix sendmail, поэтому комментарий в php.ini может быть не в правильном месте ]

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

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

Просто не могу найти подробности в похожих вопросах Stackoverflow, поэтому я поднимаю этот вопрос, пожалуйста, помогите мне стать просветленным.

1 Ответ

1 голос
/ 15 октября 2011

Только потому, что вы нашли файл с именем sendmail.exe на вашем компьютере, это не означает, что PHP поддерживает этот конкретный двоичный файл из коробки.

С sendmail_path:

[...] Эта директива работает также под Windows. Если установлено, smtp, smtp_port и sendmail_from игнорируются и указанная команда выполняется.

Дважды проверьте, совместим ли sendmail.exe на вашем диске с PHP.

Попытка:

sendmail_path = "X:\path\to\sendmail.exe -t"

Я просто отправляю электронную почту, но не получаю электронную почту, так зачем мне почтовый сервер (например, Mercury)? или SMTP (протокол) требует сервер для отправки и получения?

Тебе не нужно. Вполне вероятно, что конфигурация, которую вы используете с sendmail.exe (это не конфигурация PHP, ищите вместо sendmail.ini), что вы сказали sendmail.exe использовать SMTP-сервер.

Либо измените это, и если sendmail.exe не обеспечивает нужную вам функцию, замените sendmail.exe на то, что соответствует вашим потребностям.

Просто по умолчанию имеет смысл отправлять электронные письма. Так почему же вы расстроены конфигурацией, которая имеет смысл?

Смотри также:

...