Linux下安装Postfix邮件安装Maildrop(八)

Postfix使用maildrop投递邮件

Maildrop是本地邮件投递代理(MDA), 支持过滤(/etc/maildroprc)、投递和磁盘限额(Quota)功能。

Maildrop是一个使用C++编写的用来代替本地MDA的带有过滤功能邮件投递代理,是courier邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱;maildrop既可以将邮件投递到mailboxes格式邮箱,亦可以将其投递到maildirs格式邮箱。同时,maildrop可以从文件中读取入站邮件过滤指示,并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和procmail不同的是,maildrop使用结构化的过滤语言,因此,邮件系统管理员可以开发自己的过滤规则并应用其中。

我们在此将使用maildrop来代替postfix自带的MDA,并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用。Maildrop如果以RPM包安装会自动创建vuser用户及vgroup用户组,专门用于邮件的存储;使用源码安装则需要手动创建用户和用户组,且ID大于1000,即上文创建的用户vmail(1001)和组vmail(1001)。

依赖courier-authlib的头和库文件

将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些相关的文件)

[root@localhost ~]# ln -sv /usr/local/courier-authlib/bin/courierauthconfig /usr/bin
[root@localhost ~]# ln -sv /usr/local/courier-authlib/include/* /usr/include/
[root@localhost ~]# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf
[root@localhost ~]# ldconfig -v

解决需要依赖的pcre头文件和库文件

maildrop需要pcre的支持,因此,需要事先提供pcre的头文件及库文件等开发组件,如果选择以yum源来提供pcre,请确保安装pcre-devel包

[root@localhost ~]# yum install pcre-devel

安装courier-unicode

字符集库文件,相当 于RPM方式安装的courier-authlib-devel包,不安装这个会导致编译maildrop时报错

[root@localhost ~]# tar xvf courier-unicode-1.1.tar.bz2
[root@localhost ~]# cd courier-unicode-1.1
[root@localhost courier-unicode-1.1]# ./configure
[root@localhost courier-unicode-1.1]# make && make install

安装maildrop

[root@localhost ~]# tar xvf maildrop-2.7.2.tar.bz2
[root@localhost ~]# cd maildrop-2.7.2
[root@localhost maildrop-2.7.2]# ./configure \
--enable-sendmail=/usr/sbin/sendmail \
--enable-syslog=1 \
--enable-maildirquota \
--enable-maildrop-uid=1001 \
--enable-maildrop-gid=1001 \
--with-trashquota \
--with-dirsync
[root@localhost maildrop-2.7.2]#make
[root@localhost maildrop-2.7.2]#make install

检查安装结果,请确保有“Courier Authentication Library extension enabled.”一句出现

[root@localhost ~]# maildrop -v
maildrop 2.6.0 Copyright 1998-2005 Double Precision, Inc.
GDBM/DB extensions enabled.
Courier Authentication Library extension enabled.
Maildir quota extension are now always enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.

创建配置文件/etc/maildroprc

首先指定maildrop的日志记录位置:

[root@localhost ~]# vim /etc/maildroprc
logfile "/var/log/maildrop.log"

[root@localhost ~]# touch /var/log/maildrop.log
[root@localhost ~]# chown vmail.vmail /var/log/maildrop.log

配置Postfix的master.cf文件

[root@localhost ~]# vim /etc/postfix/master.cf#maildrop  unix  -       n       n       -       -       pipe#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}

注意:启用如上两行,定义transport的时候,即如上两行中的第二行其参数行必须以空格开头否则会出错

重启服务

[root@localhost ~]# service postfix restart
[root@localhost ~]# service courier-authlib restart
[root@localhost ~]# service httpd restart

测试

可以进行发信测试,如果日志中的记录类同以下项maildrop投递,则安装成功

Apr 15 15:33:54 localhost postfix/pipe[11964]: 04B92147CE9: to=, relay=maildrop, delay=0.16, delays=0.07/0.03/0/0.07, dsn=2.0.0, status=sent (delivered via maildrop service)

PS:如果想使用maildrop来进行邮件过滤只需要在/etc/maildroprc中使用maildrop基于域的过滤条件即可。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/222611.html<

(0)
管理的头像管理
上一篇2025-04-15 14:07
下一篇 2025-04-15 14:08

相关推荐

  • 站群服务器为什么比普通服务器贵,哪家性价比高?

    站群服务器之所以比普通服务器贵,核心在于其为了支撑大量独立站点同时稳定运行,在硬件隔离、独立IP资源池、高防御网络架构以及合规运维上投入了普通服务器数倍的成本,这些硬性支出直接反映在了最终定价上,硬件配置的“冗余”设计决定成本基线站群服务器与普通服务器最直观的差异体现在硬件层面,普通服务器往往面向单一应用或少量……

    2026-07-26
    0
  • 企业级服务器和普通服务器区别在哪?,怎么选性价比高

    前者为关键业务连续性与高并发场景设计,具备硬件冗余、故障自愈和全生命周期管理能力;后者面向基础应用,追求性价比与部署便捷性,硬件架构的底层差异企业级服务器从硬件选型就与普通服务器划清界限,CPU通常支持多路互联,内存频率更高且支持ECC纠错与RAS特性,存储控制器配备缓存保护与RAID加速,普通服务器往往采用单……

    2026-07-26
    0
  • 服务器托管到底是什么意思?,收费标准是什么?

    服务器托管,简单说就是你自己买好服务器,放到专业IDC机房,由机房提供稳定的网络、电力和环境,你按月支付机位和带宽费用,相比租用服务器,你拥有硬件所有权;相比云服务器,性能更可控,适合高负载或合规要求高的业务,服务器托管到底是什么很多人分不清托管和租用,托管是你自备服务器,放在运营商的数据中心,共享其基础设施……

    2026-07-26
    0
  • 站群服务器容易被封的原因是什么,如何避免?

    站群服务器被封,根源在于IP关联、内容违规和资源滥用,而选择持有正规资质、独立IP和严格审核的服务商是根本解决之道,核心原因:封禁背后的逻辑IP关联与搜索引擎算法搜索引擎对同一IP下的站点行为越来越敏感,如果多个站点共享一个IP,且存在相似结构、互相链接或相同注册信息,极容易被判定为站群并受到惩罚,近年来,算法……

    2026-07-26
    0
  • 三层防护和七层防护分别是什么意思,有什么区别?

    在网络安全中,三层防护指网络层安全防护,七层防护指应用层安全防护,两者分别对应通信链路和业务逻辑的安全, 三层防护通过IP地址、端口和协议规则过滤流量,七层防护则深入分析HTTP/HTTPS请求内容,拦截SQL注入、跨站脚本等攻击,理解这两个层次,是构建安全架构的前提,三层防护:网络层的基础防线什么是网络层防护……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注