我已将 DigitalOcean droplet 从 Debian 8 升级到 Debian 10,并将 PHP 从 PHP5 升级到 PHP7.3。我还将 RoundCube 升级到 1.4.2。
一切似乎都运行良好。我没有看到有关此问题的明显日志条目,但我会尝试概述它:
- 我可以毫无问题地登录 Roundcube。
- 我可以在
/homes/vmail/domain.tld/username/new/
- 收件箱中根本没有任何电子邮件。
- 经过一段时间(几秒到几分钟,目前无法确定时间点),下面的文件
/homes/vmail/domain.tld/username/new/
被移动到/homes/vmail/domain.tld/username/cur/
- 当我尝试从 RoundCube 发送电子邮件并发送到同一封电子邮件时([电子邮件保护]),我撰写了一封邮件,主题和正文都是假的,然后发送。RoundCube 显示“正在发送邮件...”,一段时间后邮件消失了,但撰写的邮件并没有切换到收件箱,只是停留在撰写模式。
- 中出现了一个新的电子邮件文件
/homes/vmail/domain.tld/username/new/
,但是 RoundCube 中的收件箱中没有出现新电子邮件。 - 当我单击刷新时
Inbox
,没有出现新的电子邮件,但文件移动/homes/vmail/domain.tld/username/new/
到/homes/vmail/domain.tld/username/cur/
(这解释了登录后所有文件都从收件箱移动)。 mail.info
有已发送电子邮件的记录(状态=已发送至 maildir)。- 如果我导航到
Settings
Roundcube,然后单击Junk
(还有(首选项、文件夹、身份、回复和垃圾邮件),则会显示以下错误:
DATABASE ERROR: CONNECTION FAILED! Unable to connect to the database! Please contact your server-administrator.
- 尝试在“设置”中的“文件夹”下添加文件夹没有任何效果。(单击 + 号没有任何效果或结果)
- 单击“首选项”下的任何“部分”项都会导致“正在加载……”,但不执行任何操作。
到目前为止我尝试了什么?
- 我以为升级后下面的文件权限被关闭了,但实际上那里有和的
/opt/roundcube/
权限混合 。所以我运行了,但这并没有修复上面概述的行为。Admin
www-data
chown -R www-data:www-data /opt/roundcube/
- doveconf 确实有输出
mail_location = maildir:~/
- postconf 输出有
home_mailbox = Maildir/
这是一个 DigitalOcean droplet,Debian 10,具有多个虚拟用户和虚拟域。
知道升级/更新后可能出现什么问题吗?
更新 1
因此进行更新,我查看了 FireFox 控制台(按下F12
打开)中的警告和错误,然后我看到:
SecurityError: Permission denied to get property "href" on cross-origin object
并在里面
> https://example.com/webmail/program/js/app.min.js?s=1577908851:127
> msglist_select https://example.com/webmail/program/js/app.min.js?s=1577908851:107
> init https://example.com/webmail/program/js/app.min.js?s=1577908851:42
> triggerEvent https://example.com/webmail/program/js/common.min.js?s=1577908851:41
> http_response https://example.com/mail/program/js/app.min.js?s=1577908851:337
> success https://example.com/webmail/program/js/app.min.js?s=1577908851:330
我记得在升级整个交易之前,我添加了一个自签名 SSL 证书,但由于 PHP 错误而出现问题,这就是引发整个 Debian 和 PHP 升级的原因。我查看了 URL,发现它是一个普通的http://
,所以我将其更改为https://domain.tld/
,现在我可以在 中看到所有电子邮件Inbox
。但,刷新页面后,所有电子邮件都消失了,并移至目录cur
,不再显示在收件箱中。此外,Settings
即使使用https://
答案1
我运行grep -ri "X-Frame-Options" /etc/apache2
后发现,我自己签名的 SSL 将其添加到了规则集中。
我编辑/etc/apache2/conf-available/ssl-params.conf
并更改Header always set X-Frame-Options DENY
为Header always set X-Frame-Options SAMEORIGIN
。保存文件,然后重新启动 Apache ( service apache2 restart
),现在它显示电子邮件和设置。