Postfix的相关配置

运维 系统运维
在postfix下有哪些配置?该如何配置?本文主要讲的是postfix的一些配置,包括邮件数据的管理、pwcheck for ldap 的配置、postfix的配置。

  本文主要讲的是postfix的一些相关配置,包括邮件数据的管理、pwcheck for ldap 的配置、postfix的配置。

  在这之前我们需要先向我们的openldap目录里面添加一些东西,这些东西将来也会用到的。主要是设置一下读取目录的权限。

一、邮件数据管理

  先准备在ou=admim,dc=cz8,dc=net 下面,添加一个人,这个人将作为整个邮件系统数据的管理员。他对ou=kunmail,dc=cz8,dc=net这个子树有写的权限。这个权限的设定,我们已经在slapd.conf里面指定了,那么我们就添加一个 person 到cn=kunmail,ou=admin,dc=cz8,dc=net,我们仍旧采用倒入ldif文件的方法来添加数据。

  admin_cz8.ldif:

  

  1. dn: cn=kunmailou=admindc=cz8,dc=net 
  2.  
  3.   userPassword: cz2004  
  4.  
  5.   objectClass: top  
  6.  
  7.   objectClass: person  
  8.  
  9.   sn: kun  
  10.  
  11.   cn: kunmail  
  12.  
  13.   

  导入之后,我们就可以用cn=kunmail,ou=admin,dc=cz8,dc=net这个dn作为账号来让邮件系统操作ldap目录了。

二、pwcheck for ldap的配置

  pwcheck_ldap的配置,看了配置文件/etc/postfix/pwcheck_ldap.conf就应该知道怎么配,这里给我们的配置:

  pwcheck_ldap.conf

  

  1. #  
  2.  
  3.   # pwcheck_ldap.conf  
  4.  
  5.   # written by hefish@cz8.net  
  6.  
  7.   #  
  8.  
  9.   # AUTHTYPE LDAP/UNIX  
  10.  
  11.   AUTHTYPE LDAP  
  12.  
  13.   LDAP_SERVER localhost  
  14.  
  15.   LDAP_PORT 389  
  16.  
  17.   ACCESS_DN cn=kunmail,ou=admin,dc=cz8,dc=net 
  18.  
  19.   ACCESS_PWD cz2004  
  20.  
  21.   SEARCH_DN ou=kunmail,dc=cz8,dc=net 
  22.  
  23.   USER_ATTR userName  
  24.  
  25.   PASS_ATTR userClearpw  
  26.  
  27.   DEFAULT_DOMAIN cz8.net  
  28.  
  29.    

三、postfix的配置

  总算切入正题了。如上面所说,绝大部分的配置都在/etc/postfix/main.cf里面,有一些关于maildrop的配置,会需要改动/etc/postfix/master.cf。maildrop是一个过滤程序,后面会说到的。下面给出我们的配置文件main.cf,旁边//后面的部分是注释。

  [以上略,都是默认配置,没有改动]

  mydomain = cz8.net // 默认域

  myhostname = home.cz8.net //主机名

  mydestination = $mydomain $myhostname // 默认的接受邮件的域

  local_recipient_maps = // 不投递系统账号邮件

  mynetworks = 127.0.0.1, 192.168.0.0/24 // 允许不使用smtp发信认证的网段

  relay_domains = $mydestination hash:/etc/postfix/map/relay_domains // 虚拟域列表 (relay_dimains这个文件内容见后)

  transport_maps = hash:/etc/postfix/map/transport // 传输域列表,定义各个虚拟域的邮件如何传输 (这里我们使用maildrop来投递邮件)

  maildrop_destination_recipient_limit = 1 // maildrop所必要的配置 (见postfix的MAILDROP_README)

  mailbox_transport = maildrop // 默认的邮件投递方式 ,这里是maildrop , 投递方式在master.cf文件里面设置

  local_destination_concurrency_limit = 1 // maildrop所必要的配置 (见postfix的MAILDROP_README)

  home_mailbox = Maildir/ //存储邮件的方式, maildir方式 (webmail igenus支持这种方式)

  local_transport = virtual // 本地邮件投递方式, virtual是作为虚拟域投递

  virtual_mailbox_base=/ // 邮件存储目录的前缀 , / 表示从根目录开始

  virtual_uid_maps = static:65534 // 邮件账号的uid, 这里使用nobody用户的uid, 这样将来装igenus的时候,不用修改apache的运行用户

  virtual_gid_maps = static:65534 // 同上

  virtual_mailbox_maps = ldap:kunmailuser // 指定postfix如何去检索邮件用户。 这里是采用ldap,具体的ldap配置,读取kunmailuser开头的配置。 详细的配置说明见 postfix 的 LDAP_README

  kunmailuser_timeout=10 // timeout 的时间

  kunmailuser_server_host=localhost // ldap server host

  kunmailuser_server_port=389 // ldap server port

  kunmailuser_search_base=ou=kunmail,dc=loveu99,dc=net // 邮件账号所在的子目录

  kunmailuser_query_filter=(&(userName=%s)(userActive=1)) // 检索邮件账号的条件,相当于sql里面的where子句,就是写法不大一样

  kunmailuser_result_attribute=userMaildir // 邮件用户的maildir目录属性名。 (在kunmail.schema里面定义的)

  kunmailuser_bind=yes // 是否采用认证用户来读取ldap,(也可以采用匿名方式,这样速度快,但是安全性差,如果ldap服务器在内网,就不怕了)

  kunmailuser_bind_dn=cn=kunmail,ou=admin,dc=loveu99,dc=net // 登陆ldap的用户dn账号和密码

  kunmailuser_bind_pw=123654

  kunmailuser_version=3 // 采用的ldap协议的版本,应该是3 (老的openldap 1.x是2)

  message_size_limit = 8388608 // 每封信的最大大小

  virtual_mailbox_limit_size = 8388608 // 邮箱的默认大小

  virtual_mailbox_limit_maps = ldap:kunmailquota // 指定postfix如何获得用户的quota信息。

#p#

 

  1.  kunmailquota_timeout=10 
  2.  
  3.   kunmailquota_server_host=localhost 
  4.  
  5.   kunmailquota_server_port=389 
  6.  
  7.   kunmailquota_search_base=ou=kunmail,dc=loveu99,dc=net 
  8.  
  9.   kunmailquota_query_filter=(userName=%s)  
  10.  
  11.   kunmailquota_result_attribute=userQuota 
  12.  
  13.   kunmailquota_bind=yes 
  14.  
  15.   kunmailquota_bind_dn=cn=kunmail,ou=admin,dc=loveu99,dc=net 
  16.  
  17.   kunmailquota_bind_pw=123654 
  18.  
  19.   kunmailquota_version=3 
  20.  
  21.   virtual_mailbox_limit_override=yes //指定每个用户的quota信息,是否要覆盖全局的默认quota信息。  
  22.  
  23.   smtpd_sasl_auth_enable=yes 
  24.  
  25.   smtpd_sasl_local_domain = $mydomain  
  26.  
  27.   smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated perm  
  28.  
  29.   it_auth_destination reject  
  30.  
  31.   smtpd_sasl_security_options = noanonymous 
  32.  
  33.   smtpd_client_restrictions = permit_sasl_authenticated // 以上是关于smtp认证的,具体参考SASL_README  
  34.  
  35.   smtpd_banner = Public Mail System v1.0 (based on Postfix) //这个是定义smtpd banner的。  
  36.  
  37.    

  应该不是很难读懂吧。

  下面是跟main.cf有关的relay_domains文件和transport文件

  

  1. $ cat relay_domains  
  2.  
  3.   cz8.net cz8.net  
  4.  
  5.   $ cat transport  
  6.  
  7.   cz8.net maildrop:  
  8.  
  9.    

  很简单吧,将来要添加虚拟域就是操作这两个文件。

  完了之后,relay_domains和transport这两个文件要做成db文件才能被postfix所读,这也是问了加快读取得速度。可以用postmap来做这件事

  

  1. $ postmap relay_domains  
  2.  
  3.   $ postmap transport  
  4.  
  5.    

  另外还有/etc/aliases这个文件,也需要做成db文件,postfix才能正常工作:

  

  1. $ postmap /etc/aliases  
  2.  
  3.  

  下面是修改master.cf文件,主要是修改maildrop这一行。我们的maildrop将被安装在/usr/local/maildrop下,所以要修改一下相关的设置。在master.cf文件里,把:

 

  1.   maildrop unix - n n - - pipe  
  2.  
  3.   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}  
  4.  

  改成:

  1.   maildrop unix - n n - - pipe  
  2.  
  3.   flags=R user=nobody argv=/usr/local/maildrop/bin/maildrop -d ${recipient}  
  4.  

  其中nobody是我们邮件用户使用的uid。

  基于postfix的配置,大致就这些。

  就到这里吧,同学们有兴趣可以继续仔细阅读一下相关的一些文档,以理解整个邮件系统投递邮件的完整过程。

【编辑推荐】

  1. Postfix_setup 全自动安装包发布支持 Linux/FreeBSD
  2. Postfix配置文件和命令
  3. Postfix邮件服务器的安装
  4. Postfix邮件的备份方法
  5. Postfix常用命令
  6. 图文并茂 Postfix如何投递邮件
  7. 图文并茂 Postfix如何接收邮件
责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-02-21 13:08:37

postfix配置

2011-01-19 09:16:48

Postfix配置

2011-01-19 09:55:27

postfix

2010-06-02 17:36:31

postfix概述

2011-01-19 14:00:21

2010-06-07 11:22:28

2009-11-30 10:21:41

2009-10-10 15:54:55

RHEL 4配置Pos

2011-02-21 10:31:54

Postfix命令配置

2011-01-18 15:00:17

Postfix安装

2011-01-18 18:52:14

Postfix结构

2010-07-20 10:49:07

Telnet会话

2011-01-20 10:20:18

Postfix配置

2010-05-25 14:57:17

postfix安装配置

2011-01-19 09:57:48

Postfix控制

2011-01-19 13:39:38

Postfix邮件监控

2010-06-02 18:17:09

Postfix邮件

2010-07-08 14:51:34

路由选择协议

2010-08-03 17:32:54

Linux NFS

2010-05-25 18:57:42

启动postfix
点赞
收藏

51CTO技术栈公众号