这篇文章主要介绍了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 -vmaildrop 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 PublicLicense. See COPYING for additional information.
创建配置文件/etc/maildroprc
首先指定maildrop的日志记录位置:
[root@localhost ~]# vim /etc/maildroprclogfile "/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基于域的过滤条件即可。
感谢你能够认真阅读完这篇文章,希望小编分享的“Linux下如何安装Postfix使用maildrop投递邮件”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!