Хорошо, я понимаю, что этот вопрос был задан, но вопросы, касающиеся моих конкретных проблем, не были затронуты.
В принципе, я почти не знаю, что делаю на сервере, но мне нужно настроить его для отправки электронных писем, чтобы они не попадали в папку для спама. В настоящее время мне кажется, что основной проблемой является это сообщение об ошибке в моем mail.log
файл:
error: to submit mail, use the Postfix sendmail command
fatal: the postfix command is reserved for the superuser
В моем файле php.ini у меня есть sendmail_path = /usr/sbin/sendmail -t -i
Postfix настроен с моим именем хоста, когда я отправляю почту из командной строки, он отправляет ее нормально, поэтому все там работает, но когда в CLI я вошел в систему как root, поэтому, возможно, это не проблема, потому что у меня есть доступ . Когда я бегу postfix status
Получаю следующее:
postfix: Postfix is running with backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
postfix/postfix-script: the Postfix mail system is running: PID: 13198
Я вплотную занимаюсь этим проектом, и мне действительно нужно быстро решить эту проблему, но кажется, что все миллионы различных руководств действительно различаются по тому, как все это правильно настроить, или, по крайней мере, я не понимаю, что я сделал не так.
Перефразируя, главная цель - заставить PHP отправлять им электронную почту, когда я звоню
mail($to, $subject, $msg, $headers);
Спасибо @bgtvfr, все они работали, когда я его тестировал. Отправка почты из командной строки работала нормально, как и предполагалось.
Ошибки, перечисленные в моем mail.log, были вызваны неправильной настройкой моего файла php.ini.
В какой-то момент я установил sendmail_path = /usr/sbin/posfix
а затем, пока я изменил его на приведенный выше код, указав на sendmail
Я не перезагружал настройки php.ini. Я запускаю ubuntu с nginx и php7.0, однако перезапуск nginx не приведет к перезагрузке ваших настроек php, поэтому мне пришлось выполнить следующее:
sudo /etc/php7.0/fpm/php.ini restart
Как только это было сброшено на sendmail_path = /usr/sbin/sendmail
затем он начал работать по назначению.