sendmail — Как включить функцию PHP mail () в докку на DigitalOcean

Я развернул сайт PHP с Dokku на DigitalOcean. Это очень простой веб-сайт с контактной формой. Тем не менее, форма не может быть отправлено, потому что, видимо, PHP mail() функция не работает.

Я установил sendmail на сервере, и я могу отправить письмо с sendmail в командной строке. Я следовал инструкциям здесь:

https://www.digitalocean.com/community/questions/do-I-need-to-configure-anything-to-use-php-mail-function-on-fresh-lamp-install

но я продолжаю получать эту ошибку:

-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 использует даже при компиляции приложения.

Я не могу найти другую документацию по этому вопросу, и я был бы очень признателен за вашу помощь.

2

Решение

Помимо мудрого совета от @MarcB в комментариях используйте правильный почтовый клиент, такой как phpMailer или SwiftMailer на специфике вашей проблемы вы можете легко отладить ваши значения PHP, запустив phpinfo().

Специально искать:
— sendmail_path

Вы также можете настроить некоторые его аспекты, изучив:
— mail.add_x_header
— mail.force_extra_parameters
— mail.log
— sendmail_from

В соответствии с описанной ошибкой проверьте файл ~/.bashrc и убери все, что ты там положил. Выглядит так, как будто вы прексированы PATH в виде переменной как $PATH,

Должно быть что-то вроде export PATH=...

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]