这篇文章主要介绍了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~]#yuminstallpcre-devel安装courier-unicode

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

[root@localhost~]#tarxvfcourier-unicode-1.1.tar.bz2[root@localhost~]#cdcourier-unicode-1.1[root@localhostcourier-unicode-1.1]#./configure[root@localhostcourier-unicode-1.1]#make&&makeinstall安装maildrop

[root@localhost~]#tarxvfmaildrop-2.7.2.tar.bz2[root@localhost~]#cdmaildrop-2.7.2[root@localhostmaildrop-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@localhostmaildrop-2.7.2]#make[root@localhostmaildrop-2.7.2]#makeinstall

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

[root@localhost~]#maildrop-vmaildrop2.6.0Copyright1998-2005DoublePrecision,Inc.GDBM/DBextensionsenabled.CourierAuthenticationLibraryextensionenabled.Maildirquotaextensionarenowalwaysenabled.ThisprogramisdistributedunderthetermsoftheGNUGeneralPublicLicense.SeeCOPYINGforadditionalinformation.创建配置文件/etc/maildroprc

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

[root@localhost~]#vim/etc/maildroprclogfile"/var/log/maildrop.log"[root@localhost~]#touch/var/log/maildrop.log[root@localhost~]#chownvmail.vmail/var/log/maildrop.log配置Postfix的master.cf文件

[root@localhost~]#vim/etc/postfix/master.cf#maildropunix-nn--pipe#flags=DRhuuser=vmailargv=/usr/local/bin/maildrop-d${recipient}

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

重启服务

[root@localhost~]#servicepostfixrestart[root@localhost~]#servicecourier-authlibrestart[root@localhost~]#servicehttpdrestart测试

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

Apr1515:33:54localhostpostfix/pipe[11964]:04B92147CE9:to=,relay=maildrop,delay=0.16,delays=0.07/0.03/0/0.07,dsn=2.0.0,status=sent(deliveredviamaildropservice)

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


感谢你能够认真阅读完这篇文章,希望小编分享的“Linux下如何安装Postfix使用maildrop投递邮件”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!