Отправка электронной почты через php приводит к ошибке exim после обновления cPanel

Отправка электронной почты через php приводит к ошибке exim после обновления cPanel

У меня есть скрипт, который обрабатывает переданные письма и отправляет автоматические ответы. Этот скрипт отлично работает уже больше года, но после того, как мой хостер обновился до cPanel 11.38.2, мой скрипт не отправляет письма:

Это сообщение было создано автоматически программой доставки почты.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  pipe to |/home/user/public_html/email_proc.php
    generated by [email protected]

The following text was generated during the delivery attempt:

------ pipe to |/home/user/public_html/email_proc.php
       generated by [email protected] ------

2013-12-24 10:36:27 [6] Cannot open main log file "/var/log/exim_mainlog": Read-only file system: euid=0 egid=32007
2013-12-24 10:36:27 [6] cwd=/home/user/public_html/ 5 args: /usr/sbin/sendmail -t -i -f [email protected]
2013-12-24 10:36:27 [6] Cannot open main log file "/var/log/exim_mainlog": Read-only file system: euid=0 egid=32007
exim: could not open panic log - aborting: see message(s) above

Я общался с провайдером хостинга, так как у меня нет доступа по ssh, и я не могу точно понять, что происходит, но они настаивают, что это ошибка cPanel или php, и это вне их контроля. Затем они создали тестовую учетную запись электронной почты и обнаружили, что почтовый сервер работает нормально, но я продолжаю говорить им, что что-то происходит с их конфигурацией доступа к библиотеке php, а не с самим почтовым сервером.

Может ли кто-нибудь дать какие-либо предложения по следующим вопросам:

  1. Как я могу попытаться отследить это при ограниченном доступе к серверу.

  2. Какие предложения может дать служба технической поддержки по устранению проблемы?

Спасибо!


Дальнейшее тестирование показывает, что эта проблема характерна для канала электронной почты cPanel. Если скрипт запускается напрямую через Apache, все работает нормально. Если он запускается через канал с exec, происходит сбой. Если кто-то может что-то предложить, это будет оценено по достоинству. Похоже, это выходит за рамки знаний администраторов.

решение1

ОБНОВЛЕНИЕ для тех, кто сталкивается с этой проблемой на общих системах, которые являются jailshell или noshell:

cPanel 11.38 сейчаснавязывает строгие правилаВторой и третий пункты влияют на приложения конвейерной почты.

  • Файловые системы, смонтированные в virtfs, теперь монтируются с nosuid.
  • Большинство файловых систем, смонтированных в virtfs, теперь монтируются только для чтения в CentOS 6, CloudLinux 6, RHEL 6 или более поздних версиях.
  • Система доставки почты была обновлена ​​с учетом jailshell и теперь выполняет все доставки по каналу через jailshell.
  • Пользователи mod_ruid2 теперь могут включить поддержку «Jailed Apache», которая выполнит chroot() каждого виртуального хоста в их virtfs.
  • Задания Cron теперь запускаются с помощью jailshell.

Оказывается, эта проблема связана с ошибкой cPanel, исправленной в версии 11.40.1:

Исправлен случай 80437: Исправлена ​​проблема с рекурсивным монтированием файловой системы только для чтения в jailshell

Если файловая система, обозначенная как монтирование virtfs для чтения/записи, существует в системе как отдельная файловая система, она также будет рассматриваться как рекурсивное монтирование, в результате чего она унаследует статус родительской файловой системы ro или rw независимо от флагов монтирования, указанных для рассматриваемой файловой системы.

Связанный контент