Я развернул сайт PHP с Dokku на DigitalOcean. Это очень простой веб-сайт с контактной формой. Тем не менее, форма не может быть отправлено, потому что, видимо, PHP mail()
функция не работает.
Я установил sendmail
на сервере, и я могу отправить письмо с sendmail
в командной строке. Я следовал инструкциям здесь:
но я продолжаю получать эту ошибку:
-bash: export: `/ usr / sbin / sendmail: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games ‘: неверный идентификатор
После третьего ответа здесь на тот же вопрос, что и мой (https://www.digitalocean.com/community/questions/php-mail-function-enable); Я установил postfix
и я попытался изменить php.ini
файл (который был расположен по странному пути, как / etc / php5 / cli /) на сервере. Я совсем не уверен, что это php.ini
Файл — это то, что Dokku использует даже при компиляции приложения.
Я не могу найти другую документацию по этому вопросу, и я был бы очень признателен за вашу помощь.
Помимо мудрого совета от @MarcB в комментариях используйте правильный почтовый клиент, такой как phpMailer или SwiftMailer на специфике вашей проблемы вы можете легко отладить ваши значения PHP, запустив phpinfo()
.
Специально искать:
— sendmail_path
Вы также можете настроить некоторые его аспекты, изучив:
— mail.add_x_header
— mail.force_extra_parameters
— mail.log
— sendmail_from
В соответствии с описанной ошибкой проверьте файл ~/.bashrc
и убери все, что ты там положил. Выглядит так, как будто вы прексированы PATH
в виде переменной как $PATH
,
Должно быть что-то вроде export PATH=...
Других решений пока нет …