如何在 cPanel 下配置 Horde 以显示 HTML 电子邮件?

Jos*_*osh 8 email

在cPanel中,Horde默认不显示富文本/HTML邮件,只显示纯文本版本。我知道有一个选项可以显示 HTML 电子邮件,但我不确定如何在 cPanel 下启用它。

我看了很多论坛的帖子在网上说,我需要设置$mime_drivers['html']['inline']=true;mime_drivers.php。但是,如果我更改此文件,我担心 cPanel 会覆盖它。cPanel 有覆盖我修改的文件的倾向。

如何在 cPanel 下配置 Horde 以显示 HTML 电子邮件?

Jos*_*osh 7

这个问题困扰了我很久。几个月前,我找不到答案,所以我刚刚编辑了/usr/local/cpanel/base/horde/imp/config/mime_drivers.php,特别是更改了部分:

$mime_drivers['imp']['html'] = array(   
    'inline' => false,
Run Code Online (Sandbox Code Playgroud)

到:

$mime_drivers['imp']['html'] = array(   
    'inline' => true,
Run Code Online (Sandbox Code Playgroud)

正如我所担心的,每次 cPanel 更新 Horde 时,此更改都会丢失,我的用户会抱怨。现在,我相信我已经找到了解决方案。(但是部落还没有更新,所以我无法确定这是否有效)。

在包含之后imp/config/mime_drivers.php,Horde 将检查一个目录imp/config/mime_drivers.d/,如果找到,将检查以该目录include()结尾的所有文件.php这个目录在cPanel下是不存在的,所以不用担心被覆盖就可以创建

该文件/usr/local/cpanel/src/3rdparty/gpl/README-horde包含有关 cPanel 如何更新 Horde 的详细信息,以及有关自定义 Horde 的说明。该文件的一些相关例外提供了有关如何永久进行我想要的自定义的线索:

在 /scripts/upcp 和 /scripts/maintenance 的维护阶段,会执行位于 /usr/local/cpanel/install/webmail 的 webmail 脚本。这依次执行 /usr/local/cpanel/bin/update-horde。下面介绍了 update-horde 执行的步骤的概述:

  1. Horde 安装已清除 (rm -rf /usr/local/cpanel/base/horde)。
  2. 使用 update-horde 中指定的版本,相应的 Horde 源 tarball 将被提取到 /usr/local/cpanel/base。

[...]

在确定用于源安装的 tarball 并解压缩后,update-horde 脚本会检查以下内容:

    o /var/cpanel/horde/overlay.tar
    o /var/cpanel/horde/overlay.tar.gz
    o /var/cpanel/horde/overlay.$hordever.tar
    o /var/cpanel/horde/overlay.$hordever.tar.gz
Run Code Online (Sandbox Code Playgroud)

与之前的 tarball 一样,$hordever 的值必须与 update-horde 脚本中定义的值相匹配。覆盖 tarball 提供了一种自定义 Horde 特定方面的简单方法。例如,某些图形、主题、模块、插件等都可以作为覆盖提供。由于它被提取到 /usr/local/cpanel/base 中,tarball 的内容必须与 /usr/local/cpanel/base/horde 中的目录布局匹配。

从这个文件中,我发现了以下覆盖内联 HTML 视图设置的步骤如下:

tl;dr:以下是步骤:

  1. 在临时目录中,创建horde/imp/config/mime_drivers.d/cPanel 期望的目录结构:

    mkdir -p /tmp/horde/imp/config/mime_drivers.d
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在该新目录中创建一个覆盖文件。我命名了我的,html.php但你可以命名任何你喜欢的名字,只要它以.php

  3. 将以下内容插入/tmp/horde/imp/config/mime_drivers.d/html.php

    <?php
    /**
     * HTML driver settings
     */
    $mime_drivers['imp']['html'] = array(
        'inline' => true,
        'handles' => array(
            'text/html'
        ),
        'icons' => array(
            'default' => 'html.png'
        ),
        /* If you don't want to display the link to open the HTML content in a
         * separate window, set the following to false. */
        'external' => true,
        /* Run 'tidy' on all HTML output? This requires at least version 2.0 of the
         * PECL 'tidy' extension to be installed on your system. */
        'tidy' => false,
        /* Check for phishing exploits? */
        'phishing_check' => true
    );
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在以下位置创建目录的.tar.gz版本:/tmp/horde/var/cpanel/horde/overlay.tar.gz

    cd /tmp
    tar -czvf /var/cpanel/horde/overlay.tar.gz horde
    
    Run Code Online (Sandbox Code Playgroud)

    每次更新 Horde 时,cPanel 都应扩展此文件,重新添加您的配置覆盖。

  5. 移动/tmp/horde/imp/config/mime_drivers.d/到位:

    mv /tmp/horde/imp/config/mime_drivers.d /usr/local/cpanel/base/horde/imp/config/
    
    Run Code Online (Sandbox Code Playgroud)
  6. 登录 Horde 进行测试。