使用postfix与dovecot在RHEL6下架设SSL的IMAP服务器

额,这次搭的这个OAmail服务器主要是参照[url=http://linux.vbird.org/linux_server/0380mail.php]鸟哥[/url]的说明做的,写这篇文章的目的在于进一步提炼和力求阐明每一步的原因。

首先[b]安装postfix和dovecot[/b],直接yum安装就好
贴一下DNS的zone(DNS和mail在一台机器上)
$TTL    600
@ IN SOA dns luozhaoyu.email.address.. (2011080401 3H 15M 1W 1D)
@ IN NS dns
@ IN MX mail
dns IN A 192.168.56.101

www IN A 172.31.0.103
mail IN A 172.31.0.105
smtp IN CNAME mail
pop3 IN CNAME mail


/etc/postfix/main.cf的[b]主配置文件修改[/b]:

myhostname = mail.lzy.org # 默认通过gethostname()使用FQDN,设置主机名
mydomain = lzy.org #
inet_interfaces = all # 监听所有地址来的服务,不只是127.0.0.1
inet_protocols = all # 支持IPv6
mydestination = $myhostname, localhost.$mydomain, localhost # MDA的目的地,能够收信的主机地址。与mail to相对。如果上面DNS中配了MX,则要把MX内容填在这。
mynetworks = 127.0.0.0/8, 192.168.56.0/24, 172.31.0.0/24, hash:/etc/postfix/access # 受信的network。只有来自这些网络的邮件才帮忙Relay,从来源IP的角度过滤
relay_domains = $mydestination # MTA的目的地,通常为下游Mail地址。从来源域名的角度过滤
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# 同时设置一下邮件和邮箱大小限制
message_size_limit = 5000000
mailbox_size_limit = 12000000
# 设置虚拟邮件域名
virtual_alias_domains = virtual.domain
virtual_alias_maps = hash:/etc/postfix/virtual
# 在virtual文件中加上
#virtual.domain anything
#@virtual.domain @$myhostname


[img]http://linux.vbird.org/linux_server/0380mail//mail-flow.gif[/img]


[b]设置postfix的smtp验证[/b]
这里要用到saslauthd软件
yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5

查看saslauthd使用的验证机制/etc/sysconfig/saslauthd
设置cyrus用saslauthd为smtp服务
vim /etc/sasl2/smtpd.conf
log_level: 3
pwcheck_method: saslauthd
mech_list: plain login


设置postfix使用smtp身份验证
vim /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
#broken_sasl_auth_clients = yes # 老版本的outlook可能需要这行

smtpd_recipient_restrictions =
permit_mynetworks, # 放行受信任的网络
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
#reject #默认拒绝一切
check_relay_domains # 默认的策略,必须。比如白名单就使用check_policy_service unix:/var/spool/postfix/postgrey/socket


[b]dovecot设定[/b]
一般的pop3与imap在/etc/dovecot/dovecot.conf下修改协议
protocols = imap pop3

设置dovecot寻找postfix的收件箱位置/etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail/:INBOX=/var/spool/mail/%u

注意这里的mbox是类似于一个用于IMAP下多mailbox的存储目录,每个用户都应该单独拥有,不应该共享。否则在多邮件客户端收信下可能将引起收件混乱。而/var/spool/下需要设置每个独立用户的权限,可能会出现permission error,所以设置在家目录下是最省事的。
详情请看[url]http://wiki2.dovecot.org/MailLocation/mbox[/url]

为了使添加的邮箱用户有在/var/spool/mail目录下的权限,需要:
usermod -g mail testmail0


进行普通认证的话,关掉SSL
在/etc/dovecot/conf.d/10-ssl.conf关闭ssl
ssl = no

并允许明文传输
disable_plaintext_auth = no


进行SSL加密的话
先跳到/etc/pki/tls/certs/中制作pem
make custom-dovecot.pem
mv custom-dovecot.pem /etc/pki/dovecot/certs/


然后跳到/etc/dovecot/conf.d/中一通改
改10-auth.conf,禁止明文传输
disable_plaintext_auth = yes

改10-ssl.conf
ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/certs/dovecot.pem

改10-master.conf
inet_listener imap {
port = 0
}
inet_listener pop3 {
port = 0
}

改10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u


重启,注意开防火墙,注意设置postfix和dovecot开机启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值