Назад | Перейти на главную страницу

Sendmail не работает с локального PHP, если не указаны заголовки

Мне не удается заставить локальный сервер XAMPP отправлять электронные письма через удаленный SMTP-сервер.

В PHP, если я поставлю:

$headers  = "From: dan@fromdomain.com\r\n";
mail('dan@todomain.com', 'test', '', $headers);

Тогда это работает. Однако, если я не укажу заголовок, то есть:

mail('dan@todomain.com', 'test', '');

Тогда это не удается. В файле sendmail.log говорится:

smtpstatus=554 smtpmsg='554 Message refused.' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE

Я попытался изменить мою команду sendmail в моем php.ini на:

sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -f dan@fromdomain.com"

но это тоже не работает.

Спасибо за любую помощь, Дэн.

пс. это на окнах.

Из Почта PHP () документация:

При отправке почты письмо должно содержать заголовок From. Это может быть установлено с помощью параметра additional_headers, или значение по умолчанию может быть установлено в php.ini.

Что касается командной строки sendmail, я считаю, что директива -f и адрес должны быть вместе. то есть:

-fdan@fromdomain.com

Мир, Том