pf4public/fetchmail

Roundcube fetchmail 插件是 Roundcube 插件,允许用户从外部邮箱下载邮件。

安装: 760

依赖: 0

建议者: 0

安全: 0

星级: 17

关注者: 5

分支: 15

类型:roundcube-plugin

1.0.13 2023-03-08 16:27 UTC

This package is auto-updated.

Last update: 2024-09-12 16:54:55 UTC


README

Roundcube fetchmail 插件 是一个 Roundcube 插件,允许用户从外部邮箱下载邮件。

截图

Screenshot

先决条件

  1. Roundcube
  2. 数据库(PostgreSQLMySQL
  3. fetchmail 本身
  4. Postfix Admin 提供方便的 fetchmail.pl 脚本

安装

请按照以下步骤进行,并根据需要调整以适应您的发行版

  1. 首先,您需要安装 fetchmail 本身。对于 Debian,您可以通过 apt install fetchmail 来安装它。
  2. 接下来,您应该将 Roundcube fetchmail 插件 归档提取到您的 Roundcube plugins 文件夹中,在那里创建 "fetchmail" 文件夹。
  • 您可以使用 composer 来这样做,因为存在 composer.json,但是您仍需要遵循进一步的安装步骤,因为这些步骤不能通过 composer 完成。
  • 或者,您可以从中下载所需的发布版本 发布页面 并相应地解压缩它。
  1. 之后,您需要通过将其添加到 Roundcube 插件列表中来启用新安装的插件。对于 Debian,相关的配置文件是 /etc/roundcube/main.inc.php,相关设置是:

    $rcmail_config ['plugins'] = array();

', 'fetchmail' 添加到插件列表中就足够了。

  1. 除非默认设置适合您,否则您需要配置此插件。有关更多信息,请参阅设置部分

  2. 您需要在数据库中创建一个额外的表,使用提供的 .initial.sql 文件之一,并使用所有相应的 .sql 文件更新它。另一种可能性是如果您已经安装了 Postfix Admin,则可以使用 Postfix Admin 表。如果您使用 PostgreSQL,您可以使用模式在 RoundcubePostfix Admin 之间共享 fetchmail 表。具体来说,在 public 模式下创建它,而其他表在其适当的模式中,例如 roundcubepostfixadmin。有关更多信息,请参阅 文档。如果您这样做并且使用 composer,那么您可能需要将此插件的数据库版本在 roundcube 数据库中设置为 9999999900,这样 composer 就不会尝试更新它。

  3. 您将需要来自 Postfix Admin 分发的 fetchmail.pl 脚本。如果您没有安装 Postfix Admin,您可以从中获得所需的 fetchmail.pl 脚本 postfixadmin / ADDITIONS / fetchmail.pl。但请确保获取至少修订 594a847,其中引入了对 src_port 字段的支持。将其放置在适当的位置。例如,在您的邮箱中,例如 /var/mail

  4. 接下来,将 fetchmail.pl 调整到您的配置。您可能需要更改以下设置:

    # database backend - uncomment one of these
    our $db_type = 'Pg';
    #my $db_type = 'mysql';
    
    # host name
    our $db_host="127.0.0.1";
    # database name
    our $db_name="postfix";
    # database username
    our $db_username="mail";
    # database password
    our $db_password="CHANGE_ME!";

    您可能不需要更改此脚本,而是可以将您的设置放入 /etc/mail/postfixadmin/fetchmail.conf

  5. 下一步是配置 cron 以定期使用 crontab -u mail -e 检查邮件。例如,对于5分钟间隔,添加以下内容:*/5 * * * * /var/mail/fetchmail.pl >/dev/null。需要注意的是,即使您为5分钟间隔配置了cron,fetchmail仍然会遵守用户配置的检查间隔。因此,在这里设置更大的间隔将表现为fetchmail可用的间隔,即在此处设置0 * * * *将覆盖任何小于小时的用户设置。

  6. 您可能还需要在基于Debian的系统上安装 liblockfile-simple-perllibsys-syslog-perllibunix-syslog-perl

  7. 最后,可能需要执行 mkdir /var/run/fetchmail; chown mail:mail /var/run/fetchmail

请注意,一些命令可能需要超级用户权限

设置

如果您需要编辑默认设置,可以将 config.inc.php.dist 复制到 config.inc.php,然后根据需要在后一个文件中编辑设置,这将覆盖默认设置。

  • $config['fetchmail_check_server'] 如果设置为 true,插件将针对用户提供的服务器名执行DNS查找。如果无法在DNS中解析服务器名,将显示错误。
  • $config['fetchmail_db_dsn'] 允许您使用Roundcube数据库之外的fetchmail数据库,例如从现有的Postfix Admin安装中。请参阅Roundcube配置选项以获取正确的语法。如果设置为 null,则使用Roundcube数据库。默认值为 null
  • $config['fetchmail_folder'] 是否允许用户指定他们希望从其中下载邮件的IMAP文件夹。默认值为 false
  • $config['fetchmail_limit'] 限制了每个用户允许的外部邮箱数量。默认值为 10
  • $config['fetchmail_mda'] 允许您为fetchmail指定mda字段。如果您希望在MDA或LDA中直接投递下载的邮件,而不是通过SMTP或LMTP转发,这可能很有用。有关更多信息,请参阅fetchmail手册fetchmail.pl 脚本。在此处留空值将防止插件更改数据库中此字段的任何更改,这可能很有用,如果您需要在其他地方控制此字段。默认值为 '',即空。

许可

本软件根据自由软件基金会发布的GNU通用公共许可证的条款进行分发

有关GPL许可的更多详细信息,请参阅https://gnu.ac.cn/licenses/gpl.html

通过为 Roundcube fetchmail插件 贡献,作者将他们贡献的作品置于本许可证之下

致谢

原作者

Arthur Mayer,https://github.com/flames

贡献者名单

要查看完整的贡献者名单,请参阅Github项目贡献者页面

目前由