Роковой для PHP-ошибка с почтой (отсутствующие части сообщения, они почте )
У нас есть экземпляр roundcube на нашем сервере ubuntu.
Со вчерашнего дня мы больше не можем отправлять электронные письма. После нажатия кнопки отправки в roundcube, "Nachricht wird gesendet..."- Сообщение (электронная почта отправляется) загружается бесконечно.
После поиска в журналах я нашел сообщение об ошибке:
[30-Jun-2015 10:33:50 UTC] PHP Warning: Missing argument 1 for Mail_mimePart::Mail_mimePart(), called in [***]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1288 and defined in [***]/roundcube/vendor/pear/mail_mime-decode/Mail/mimePart.php on line 127
[30-Jun-2015 10:33:50 UTC] PHP Fatal error: Call to undefined method Mail_mimePart::encodeHeader() in [***]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1289
Это все еще можно отправлять электронные письма непосредственно через SMTP / Dovecot, так что все должно быть хорошо на этой стороне.
Моей первой мыслью было установить грушу пакеты, но они, кажется, правильно установлены внутри roundcube.
Stacktrace-это:
[30-Jun-2015 11:52:26 UTC] Backtrace from warning 'Missing argument 1 for Mail_mimePart::Mail_mimePart(),
called in [...]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1334 and
defined' at [...]/roundcube/vendor/pear/mail_mime-decode/Mail/mimePart.php 127: [...]/roundcube/index.php 290 calling include_once() |
[...]/roundcube/program/steps/mail/sendmail.inc 509 calling headers() |
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1101 calling encodeHeaders() |
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1314 calling encodeHeader() |
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1334 calling Mail_mimePart()
[30-Jun-2015 11:52:26 UTC] PHP Fatal error: Call to undefined method Mail_mimePart::encodeHeader() in [...]roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1335
Примечания:
- сервер обновлен.
- композитор был обновлен
4 ответа:
Не знаю, где сообщить, но на данный момент Вы можете решить эту проблему, изменив строку 75 в
/vendor/pear/mail_mime/Mail/mime.php
сrequire_once 'Mail/mimePart.php';
наrequire_once 'mimePart.php';
У меня была та же ситуация, что и с плакатом. Я (безуспешно) возился с плагинами, а затем я больше не мог отправлять почту. roundcube / logs / error имел то же самое сообщение, когда я пытался отправить.
Форум сообщества Roundcube имеетРешение , которое сработало для меня.
Я удалил roundcube/vendor dir (на самом деле, я сделал
mv vendor vendor_bak
на всякий случай) и сделалcomposer install
из roundcube dir.Внезапно я смог послать снова.
Я только что полностью переустановил roudcube (пользовательские данные были либо в MySQL, либо в Dovecot, поэтому никакой потери данных).
Это была аналогичная проблема, как уже указывал в комментариях @Alex Chorry. Это было вызвано тем, что composer обновил пакет mail_mime при установке плагина (в моем случае это была globaladdressbook, но я видел эту проблему и на других плагинах). Кроме того, возврат php не работал, так как это привело к ошибке плагина.
Поэтому для решения этой задачи я полностью проигнорировал композитор, и никогда не устанавливал его. Я вручную установил все плагины, как указал ей на github:
- поместите эту папку плагинов в каталог плагинов Roundcube
- Добавьте globaladdressbook в $config ['plugins'] в вашей конфигурации Roundcube
Я удалил эти 3 строки из composer.json
"pear/mail_mime": ">=1.8.9", "pear/mail_mime-decode": "~1.5.5", "pear/net_smtp": "dev-master",
Затем я запустил php composer.обновление phar
Затем я положил строки обратно, запустил обновление: incc:/var / lib / roundcube# php composer.обновление фар Загрузка репозиториев composer с информацией о пакете Инициализация репозитория PEAR http://pear.php.net обновление зависимостей (включая require-dev) - установка груша/pear_exception (Дев-мастер 8c18719) Клонирование 8c18719fdae000b690e3912be401c76e406dd13b
Установка груши/console_getopt (В1.4.1) Загрузка из кэша
Установка груши/Груша-ядро-минимальный (Дэв-мастер 0457483) Клонирование 0457483add2e037a5e00eb186b9dce7ea3b49da2
Установка pear / net_socket (dev-trunk bbe6a12) Клонирование bbe6a12bb4f7059dba161f6ddd43f369c0ec8d09
Установка pear / net_smtp (dev-master 3ef8150) Клонирование 3ef8150ef230314f2a70e803e13a9926e432f7af
Установка pear/mail_mime (dev-master 66b2a01) Клонирование 66b2a01acabe0b8d0ce606833d5cefc1a49a8887
Установка pear/mail_mime-decode (1.5.5.2) Загрузка: 100%
И вошел обратно в roundcube, и я мог отправить снова.
Я не совсем понял ответ автора, но так как я видел, что это может быть плагином rogue (я установил и удалил несколько), я подумал, что попробую это, что работал.