对虚拟用户投递的支持,postfix自带了一个投递代理(MDA):virtual
virtual投递代理在 master.cf里描述为:
virtual unix - nn - - virtual
如果我们在main.cf里设置virtual_transport = virtual,就表示对于包含在
virtual_mailbox_domains域名里的邮件,都使用virtual进行投递。
postfix自带的virtual只提供了最基本的QUOTA功能,如果想使用更复杂的功能,如自动转发,自动回复,邮件自定义过滤等,就需要换成更高级的MDA。
当然可选择的MDA有很多种,比如procmail, maildrop等。我这里选用maildrop。
maildrop在投递邮件的时候,需要确定一些数据,比如收件用户的Maildir的路径,保存
邮件用的uid,gid,邮箱容量等,这些数据需要 courier-authlib来提供。
整个系统模块间的作用和关系是:
postfix作为MTA(Mail Transfer Agent), 负责创建smtp服务(smtpd)接收本域用户或其他域名服务器投递来的邮件,负责向其他服务器投递(转发)邮件,管理邮件队列;
maildrop作为MDA(Mail Delivery Agent)负责把从postfix接收到邮件存入邮件夹,同时还支持自动转发、自动回复,邮件过滤等功能;
courier-authlib 为 maildrop 提供与用户相关的信息查询;
dovecot提供系统的POP3和IMAP服务,同时给postfix提供SMTP的SASL认证服务。
十三、配置基于ssl的postfix
vim 10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf
[root@wms dovecot]# man openssl
[root@wms dovecot]# man s_client
[-connect host:port] [-CAfile filename]
出现错误
十四、配置postfix使用maildrop投递邮件
maildrop是一个使用C++编写的用来代替本地MDA的带有过滤功能邮件投递代理,是courier邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱;maildrop既可以将邮件投递到mailboxes格式邮箱,亦可以将其投递到maildirs格式邮箱。同时,maildrop可以从文件中读取入站邮件过滤指示,并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和procmail不同的是,maildrop使用结构化的过滤语言,因此,邮件系统管理员可以开发自己的过滤规则并应用其中。
在此将使用maildrop来代替postfix自带的MDA,并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用;在此可能会修改前文中的许多设置,请确保您的设置也做了相应的修改。
1、安装
先将courier-authlib的库文件导出
将courier-authlib的头文件及库文件(参考第八部分的第四小节)链接至/usr目录(编译maildrop时会到此目录下找此些相关的文件):
要单个链接不可链接成目录
maildrop需要pcre的支持,因此,需要事先提供pcre的头文件及库文件等开发组件。如果选择以yum源来提供pcre,请确保安装pcre-devel包。
默认安装路径与postfix主配置文件中的默认路径相同,所以无需指定
检查安装结果确保有”Courier Authentication Library extension enabled.”一句出现
2、新建其配置文件/etc/maildroprc文件,首先指定maildrop的日志记录位置:
3、配置Postfix编辑master.cf
启用如下两行
注意:定义transport的时候,即如上两行中的第二行,其参数行必须以空格开头,否则会出错。
编辑main.cf
[root@wms ~]# vim /etc/postfix/main.cf
修改为:
将下面两项指定的UID和GID作相应的修改:
4、编辑/etc/authmysqlrc
[root@wms ~]# vim /etc/authmysqlrc
注意:没有此处的修改,maildrop可能会报告 “signal 0x06”的错误报告。
5、编辑/etc/httpd/httpd.conf,修改运行用户为vmail
[root@wms ~]# vim /etc/httpd/httpd.conf
6、将用户邮件所在的目录/var/mailbox和extman的临时目录/tmp/extman的属主和属组指定为vmail
7、修改extman的主配置文件中的默认用户ID和组ID,确保其为类似如下内容
[root@wms ~]# vim /var/www/extsuite/extman/webman.cf
8、验正
接下来重新启动postfix和apache,进行发信测试后
如果日志中的记录类同以下项,则安装成功
Apr 15 15:33:54 localhost postfix/pipe[11964]: 04B92147CE9: to=<dq@sm.com>, relay=maildrop, delay=0.16, delays=0.07/0.03/0/0.07, dsn=2.0.0, status=sent (delivered via maildrop service)
本文档详细介绍了如何配置Postfix使用maildrop作为MDA,以及如何整合Courrier-authlib和Dovecot以提供SSL支持。通过设置Postfix的virtual_transport,配置maildrop的过滤功能,调整权限和认证,以及启用POP3s和IMAP服务,建立了一个完整的邮件系统。在过程中,还解决了遇到的错误,确保所有组件能协同工作。
1037

被折叠的 条评论
为什么被折叠?



