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时会到此目录下找此些相关的文件)

  1. [root@localhost ~]# ln -sv /usr/local/courier-authlib/bin/courierauthconfig /usr/bin
  2. [root@localhost ~]# ln -sv /usr/local/courier-authlib/include/* /usr/include/
  3. [root@localhost ~]# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf
  4. [root@localhost ~]# ldconfig -v
解决需要依赖的pcre头文件和库文件

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

  1. [root@localhost ~]# yum install pcre-devel
安装courier-unicode

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

  1. [root@localhost ~]# tar xvf courier-unicode-1.1.tar.bz2
  2. [root@localhost ~]# cd courier-unicode-1.1
  3. [root@localhost courier-unicode-1.1]# ./configure
  4. [root@localhost courier-unicode-1.1]# make && make install
安装maildrop
  1. [root@localhost ~]# tar xvf maildrop-2.7.2.tar.bz2
  2. [root@localhost ~]# cd maildrop-2.7.2
  3. [root@localhost maildrop-2.7.2]# ./configure \
  4. --enable-sendmail=/usr/sbin/sendmail \
  5. --enable-syslog=1 \
  6. --enable-maildirquota \
  7. --enable-maildrop-uid=1001 \
  8. --enable-maildrop-gid=1001 \
  9. --with-trashquota \
  10. --with-dirsync
  1. [root@localhost maildrop-2.7.2]#make
  2. [root@localhost maildrop-2.7.2]#make install

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

  1. [root@localhost ~]# maildrop -v
  2. maildrop 2.6.0 Copyright 1998-2005 Double Precision, Inc.
  3. GDBM/DB extensions enabled.
  4. Courier Authentication Library extension enabled.
  5. Maildir quota extension are now always enabled.
  6. This program is distributed under the terms of the GNU General Public
  7. License. See COPYING for additional information.
创建配置文件/etc/maildroprc

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

  1. [root@localhost ~]# vim /etc/maildroprc
  2. logfile "/var/log/maildrop.log"
  3.  
  4. [root@localhost ~]# touch /var/log/maildrop.log
  5. [root@localhost ~]# chown vmail.vmail /var/log/maildrop.log
配置Postfix的master.cf文件
  1. [root@localhost ~]# vim /etc/postfix/master.cf
  2. #maildrop unix - n n - - pipe
  3. # flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}

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

重启服务
  1. [root@localhost ~]# service postfix restart
  2. [root@localhost ~]# service courier-authlib restart
  3. [root@localhost ~]# service httpd restart
测试

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

  1. 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(八)的更多相关文章

  1. Linux中Postfix邮件安装配置(二)

    本套邮件系统的搭建,从如何发邮件到收邮件到认证到虚拟用户虚拟域以及反病毒和反垃圾邮件等都有详细的介绍.在搭建过程中必须的参数解释以及原理都有告诉,这样才能更好地理解邮件系统. 卸载自带postfix ...

  2. Linux中Postfix邮件认证配置(五)

    Postfix+Dovecot+Sasl工作原理 1.A用户使用MUA客户端借助smtp协议登陆smtpd服务器,需要先进行用户和密码认证,而SMTPD服务器端支持sasl认证,例如有一个sasl客户 ...

  3. Linux中Postfix邮件接收配置(四)

    Dovecot介绍 MRA邮件取回代理也有很多如courier-imap,cyrus-imap和dovecot这三个个工具,下面重点介绍Dovecot: 1.高安全性.据 Dovecot 的作者声称, ...

  4. Linux中Postfix邮件原理介绍(一)

    邮件相关协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议, 工作在TCP的25端口.它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 ...

  5. Linux中postfix邮件服务器的搭建

    postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在 ...

  6. Linux中Postfix邮件WebMail配置(七)

    Extmail Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail.Extman两个部分的程序套件.ExtMail套件用于提供从 ...

  7. Linux中Postfix邮件发送配置(三)

    部署DNS服务器 postfix根据域名和地址做一个MX记录,A记录,PTR记录(一般在互联网上邮件服务器都要反解,没有PTR记录会认为是垃圾邮件) $ service iptables stop $ ...

  8. linux中mariadb的安装

    在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...

  9. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

随机推荐

  1. wordpress---wp_query的使用方法

    wp_query是一个wordpress用于复杂请求的的一个类,看到query懂开发的人就会反应这个是数据库查询的一个类,这个类可谓是非常有用的,可以帮助我们做很多复杂的查询. wp_query的使用 ...

  2. vue之cli脚手架项目中组件的使用

    在webpack-simple模板中,包括webpck模板.一个.vue文件就是一个组件. 为什么会这样呢?因为webpack干活了!webpack的将我们所有的资源文件进行打包.同时webpack还 ...

  3. vue中打包生成可配置文件以便修改接口地址

    vue打包上传到服务器之后,如果数据接口域名发生变化,需要手动修改接口地址,在发布的时候也麻烦,于是.. 在打包之后如果有一个json配置文件以便修改那不是方便很多 在网上找了一些方法貌似都是异步请求 ...

  4. Supervisor(Linux/Unix进程管理工具)安装与配置

    参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...

  5. Gym - 101028I March Rain 二分

    http://codeforces.com/gym/101028/problem/I 题意:给你n个洞,k个布条,问布条能贴到所有洞时的最小值. 题解:二分答案,因为答案越大就越容易满足条件. 技巧: ...

  6. 启用mapredure历史服务器方法

    在mapred-site.xml配置文件中添加如下信息: <property>                <name>mapreduce.jobhistory.addres ...

  7. 修改机器名、IP对arcgis server、portal的影响?

    修改机器名.IP是否对ArcGIS Server .Portal等有影响? 请教赛姐:修改IP对ArcGIS Server .Portal 无影响,不过建议将ArcGIS Server .Portal ...

  8. 洛谷P3806 点分治1 & POJ1741 Tree & CF161D Distance in Tree

    正解:点分治 解题报告: 传送门1! 传送门2! 传送门3! 点分治板子有点多,,,分开写题解的话就显得很空旷,不写又不太好毕竟初学还是要多写下题解便于理解 于是灵巧发挥压行选手习惯,开始压题解(bu ...

  9. 有关线程安全的探讨--final、static、单例、线程安全

    我的代码中已经多次使用了线程,然后还非常喜欢使用据说是线程不安全的静态方法,然后又看到很多地方最容易提的问题就是这个东西线程不安全   于是我不免产生了以下几个亟待解决的问题: 什么样的代码是天生线程 ...

  10. 【Python】【亲测好用】安装第三方包报错:AttributeError:'module' object has no attribute 'main'

    安装/卸载第三包可能出现如下问题及相应解决办法: 在pycharm编辑中,使用anconda2更新.卸载第三方包时,出现如下错误: AttributeError:'module' object has ...