pf4public / fetchmail
Roundcube fetchmail 插件是 Roundcube 插件,允许用户从外部邮箱下载邮件。
Requires
- roundcube/plugin-installer: >=0.1.6
README
Roundcube fetchmail 插件 是一个 Roundcube 插件,允许用户从外部邮箱下载邮件。
截图
先决条件
- Roundcube
- 数据库(PostgreSQL 或 MySQL)
- fetchmail 本身
- Postfix Admin 提供方便的
fetchmail.pl脚本
安装
请按照以下步骤进行,并根据需要调整以适应您的发行版
- 首先,您需要安装 fetchmail 本身。对于 Debian,您可以通过
apt install fetchmail来安装它。 - 接下来,您应该将 Roundcube fetchmail 插件 归档提取到您的 Roundcube
plugins文件夹中,在那里创建 "fetchmail" 文件夹。
- 您可以使用
composer来这样做,因为存在composer.json,但是您仍需要遵循进一步的安装步骤,因为这些步骤不能通过composer完成。 - 或者,您可以从中下载所需的发布版本 发布页面 并相应地解压缩它。
-
之后,您需要通过将其添加到 Roundcube 插件列表中来启用新安装的插件。对于 Debian,相关的配置文件是
/etc/roundcube/main.inc.php,相关设置是:$rcmail_config ['plugins'] = array();
将 ', 'fetchmail' 添加到插件列表中就足够了。
-
除非默认设置适合您,否则您需要配置此插件。有关更多信息,请参阅设置部分。
-
您需要在数据库中创建一个额外的表,使用提供的
.initial.sql文件之一,并使用所有相应的.sql文件更新它。另一种可能性是如果您已经安装了 Postfix Admin,则可以使用 Postfix Admin 表。如果您使用 PostgreSQL,您可以使用模式在 Roundcube 和 Postfix Admin 之间共享fetchmail表。具体来说,在public模式下创建它,而其他表在其适当的模式中,例如roundcube和postfixadmin。有关更多信息,请参阅 文档。如果您这样做并且使用 composer,那么您可能需要将此插件的数据库版本在 roundcube 数据库中设置为9999999900,这样 composer 就不会尝试更新它。 -
您将需要来自 Postfix Admin 分发的
fetchmail.pl脚本。如果您没有安装 Postfix Admin,您可以从中获得所需的fetchmail.pl脚本 postfixadmin / ADDITIONS / fetchmail.pl。但请确保获取至少修订 594a847,其中引入了对src_port字段的支持。将其放置在适当的位置。例如,在您的邮箱中,例如/var/mail。 -
接下来,将
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。 -
下一步是配置 cron 以定期使用
crontab -u mail -e检查邮件。例如,对于5分钟间隔,添加以下内容:*/5 * * * * /var/mail/fetchmail.pl >/dev/null。需要注意的是,即使您为5分钟间隔配置了cron,fetchmail仍然会遵守用户配置的检查间隔。因此,在这里设置更大的间隔将表现为fetchmail可用的间隔,即在此处设置0 * * * *将覆盖任何小于小时的用户设置。 -
您可能还需要在基于Debian的系统上安装
liblockfile-simple-perl和libsys-syslog-perl或libunix-syslog-perl。 -
最后,可能需要执行
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项目贡献者页面