2022-10-23 486
本文主要讲的是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:
dn:cn=kunmail,ou=admin,dc=cz8,dc=net userPassword:cz2004 objectClass:top objectClass:person sn:kun cn:kunmail
导入之后,我们就可以用cn=kunmail,ou=admin,dc=cz8,dc=net这个dn作为账号来让邮件系统操作ldap目录了。
二、pwcheck for ldap的配置
pwcheck_ldap的配置,看了配置文件/etc/postfix/pwcheck_ldap.conf就应该知道怎么配,这里给我们的配置:
pwcheck_ldap.conf
# #pwcheck_ldap.conf #writtenbyhefish@cz8.net # #AUTHTYPELDAP/UNIX AUTHTYPELDAP LDAP_SERVERlocalhost LDAP_PORT389 ACCESS_DNcn=kunmail,ou=admin,dc=cz8,dc=net ACCESS_PWDcz2004 SEARCH_DNou=kunmail,dc=cz8,dc=net USER_ATTRuserName PASS_ATTRuserClearpw DEFAULT_DOMAINcz8.net
三、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#
kunmailquota_timeout=10 kunmailquota_server_host=localhost kunmailquota_server_port=389 kunmailquota_search_base=ou=kunmail,dc=loveu99,dc=net kunmailquota_query_filter=(userName=%s) kunmailquota_result_attribute=userQuota kunmailquota_bind=yes kunmailquota_bind_dn=cn=kunmail,ou=admin,dc=loveu99,dc=net kunmailquota_bind_pw=123654 kunmailquota_version=3 virtual_mailbox_limit_override=yes//指定每个用户的quota信息,是否要覆盖全局的默认quota信息。 smtpd_sasl_auth_enable=yes smtpd_sasl_local_domain=$mydomain smtpd_recipient_restrictions=permit_mynetworkspermit_sasl_authenticatedperm it_auth_destinationreject smtpd_sasl_security_options=noanonymous smtpd_client_restrictions=permit_sasl_authenticated//以上是关于smtp认证的,具体参考SASL_README smtpd_banner=PublicMailSystemv1.0(basedonPostfix)//这个是定义smtpdbanner的。
应该不是很难读懂吧。
下面是跟main.cf有关的relay_domains文件和transport文件
$catrelay_domains cz8.netcz8.net $cattransport cz8.netmaildrop:
很简单吧,将来要添加虚拟域就是操作这两个文件。
完了之后,relay_domains和transport这两个文件要做成db文件才能被postfix所读,这也是问了加快读取得速度。可以用postmap来做这件事
$postmaprelay_domains $postmaptransport
另外还有/etc/aliases这个文件,也需要做成db文件,postfix才能正常工作:
$postmap/etc/aliases
下面是修改master.cf文件,主要是修改maildrop这一行。我们的maildrop将被安装在/usr/local/maildrop下,所以要修改一下相关的设置。在master.cf文件里,把:
maildropunix-nn--pipe flags=DRhuuser=vmailargv=/usr/local/bin/maildrop-d${recipient}
改成:
maildropunix-nn--pipe flags=Ruser=nobodyargv=/usr/local/maildrop/bin/maildrop-d${recipient}
其中nobody是我们邮件用户使用的uid。
基于postfix的配置,大致就这些。
就到这里吧,同学们有兴趣可以继续仔细阅读一下相关的一些文档,以理解整个邮件系统投递邮件的完整过程。
原文链接:https://77isp.com/post/8828.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
小游客游戏攻略网游戏攻略网 2024年07月26日
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
扫码二维码
获取最新动态