Почта Unix с PHP

#php #unix #sendmail #mailx

#php #unix #отправка почты #mailx

Вопрос:

Итак, я хотел бы иметь возможность вызывать почтовую функцию unix из PHP-скрипта. Да, я знаю, что в PHP есть встроенная функция почты, но у меня возникли проблемы с конфигурацией PHP на моем сервере в интрасети, и я изо всех сил пытался решить, но безуспешно. Я подумал, что было бы проще просто вызвать функцию почты Unix (поскольку я знаю, что она работает с другими скриптами) из PHP вместо того, чтобы пытаться повторно настроить установку PHP, что может в конечном итоге испортить работу других сайтов. Может ли кто-нибудь объяснить, как это сделать, а также как я могу настроить шаблон электронной почты для отправки по электронной почте? Заранее спасибо!!

Бретт

Ответ №1:

Прямой вызов команд unix требует, чтобы вашей установке php было разрешено выполнять команды оболочки, что опасно и действительно должно выполняться только в тех случаях, когда нет подходящей чистой php-оболочки. В php есть подходящая оболочка. Какие проблемы у вас возникли с этим?

Чтобы ответить на ваш вопрос, посмотрите на функцию exec(). Если php не настроен на запрет этого, именно так вы вызываете внешние команды из php. Я все еще не рекомендую этого делать.

Для генерации и отправки электронной почты из веб-приложения php я нахожу, что PHPMailer является отличным простым в использовании классом php.

Ответ №2:

Попробуйте что-то вроде system('/usr/bin/mailx -s "Your Subject" rcpt@example.org < /tmp/mailfile.txt')

Будьте осторожны, если входные данные принимаются от пользователя, сначала прочитайте эти:

В целом, было бы намного безопаснее и переносимее использовать почтовые функции, доступные в PHP. Кроме того, ваш разработчик может отключить систему и аналогичные функции (с помощью safe_mode).