4

我们的 ubuntu 服务器上有一个圆形立方体实例。

从昨天开始,我们无法再发送电子邮件了。在圆形立方体中点击发送按钮后,“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 直接发送电子邮件,所以这方面的一切都应该没问题。

我的第一个想法是安装梨包,但它们似乎正确安装在圆形立方体内。

堆栈跟踪是:

[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

4 回答 4

1

不确定在哪里报告,但目前您可以通过将第 75 行/vendor/pear/mail_mime/Mail/mime.php从更改为require_once 'Mail/mimePart.php';来解决此问题require_once 'mimePart.php';

于 2015-07-02T09:46:32.987 回答
1

我和海报的情况一样。我一直在(不成功)搞乱插件,然后我不能再发送邮件了。当我尝试发送时,roundcube/logs/error 有相同的消息。

Roundcube 社区论坛有一个对我有用的解决方案

我删除了圆形立方体/供应商目录(实际上,我这样做mv vendor vendor_bak是为了以防万一)并composer install从圆形立方体目录中删除。

突然我可以再次发送。

于 2016-10-10T03:25:42.257 回答
0

我刚刚完全重新安装了 roudcube(用户数据在 MySQL 或 Dovecot 中,所以没有数据丢失)。

正如@Alex Chorry 在评论中已经指出的那样,这是一个类似的问题。这是由于作曲家在安装插件时更新了 mail_mime 包引起的(在我的情况下它是 globaladdressbook,但我在其他插件上也看到了这个问题)。恢复 php 也不起作用,因为它导致插件错误。

所以为了解决这个问题,我完全忽略了composer,也没有安装它。我手动安装了所有插件,正如她在github上指出的那样:

  • 将此插件文件夹放入 Roundcube 的 plugins 目录中
  • 在 Roundcube 配置中将 globaladdressbook 添加到 $config['plugins']
于 2015-07-01T20:54:17.917 回答
0

我从 composer.json 中删除了这 3 行

    "pear/mail_mime": ">=1.8.9",
    "pear/mail_mime-decode": "~1.5.5",
    "pear/net_smtp": "dev-master",

然后我运行 php composer.phar update

然后我把这些行放回去,运行更新: incc:/var/lib/roundcube# php composer.phar update 使用包信息加载 composer 存储库 初始化 PEAR 存储库http://pear.php.net 更新依赖项(包括 require-dev ) - 安装 pear/pear_exception (dev-master 8c18719) 克隆 8c18719fdae000b690e3912be401c76e406dd13b

  • 安装 pear/console_getopt (v1.4.1) 从缓存加载

  • 安装 pear/pear-core-minimal (dev-master 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,我可以再次发送。

我并没有真正理解作者的回答,但正如我所见,它可能是一个流氓插件(我已经安装并删除了一些),我想我会试试这个可行的。

于 2015-08-24T16:41:20.623 回答