CentOS 下安装Postfix+Dovecot 配置邮件服务器

Postfix 和Dovecot功能确实很强大,支持各种认证方式, 配置非常灵活, 就因为太过于灵活, 反而安装配置的过程中,容易有各种各样的陷阱,碰到问题了, 日志是最好的解决办法了。我们假设你申请的域名是    linuxidc.com  。

在域名服务提供商那里设置域名解析, 我的  linuxidc.com 设置了3个域名解析:

第一个是 :A记录,  RR值为 @ ,    指向 服务器的IP地址

第二个是:MX记录, RR值为@, 指向 linuxidc.com

第三个是:A记录,RR值为 www, 指向服务器的IP地址

配置完毕后,  ping    www.linuxidc.com  如果能提示出你的服务器的IP地址, 证明 www的配置已经生效。

下来还要检查 MX 记录是否生效, 要用nslookup检查一下是否MX记录正确。

在windows系统的命令行控制体输入 : nslookup    -qt=mx    linuxidc.com    回车后,

能显示你的域名    linuxidc.com  , 就代表你的 MX记录配置正确。

如果MX记录配置不正确, 那用QQ邮箱发邮件, 你就会收到个退信, 退信原因的内容如下 :

收件人(zhang@linuxidc.com)所属域名不存在,邮件无法送达。
Name service error for name=linuxidc.com type=MX: Host found but no data record of requested type

域名解析搞定了, 就可以安装配置  postfix 和  dovecot 了。

我没有下载源码进行安装,直接用yum进行的。

yum    install    postfix

yum    install    dovecot

yum    install    cyrus-sals

安装完毕后, 需要配置的东西其实不多, 就两个配置文件需要修改。

第一个是 :postfix 的配置文件    /etc/postifx/main.cf ,  需要修改的内容如下所示,其他的用默认即可。

mydomain = linuxidc.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 0.0.0.0/0
home_mailbox = Maildir/
#这个可以不要smtpd_sender_restrictions = permit_mynetworks,  permit_sasl_authenticated,  reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch 

增加如下代码启用sasl认证。

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions =  permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

broken_sasl_auth_clients = yes



配置文件解释:
mydomain:
mydomain参数是指email服务器的域名,请确保为正式域名(如centos.bz)
myhostname:
myhostname参数是指系统的主机名称(如我的服务器主机名称是mail.centos.bz)
myorigin:
myorigin参数指定本地发送邮件中来源和传递显示的域名。在我们的例子中,mydomain是centos.bz,也是我的域名。
对于下面的一行,我们的邮件地址是user@centos.bz而不是user@mail.centos.bz。
myorigin = $mydomain
mynetworks:
mynetworks参数指定受信任SMTP的列表,具体的说,受信任的SMTP客户端允许通过Postfix传递邮件。
mydestination:
mydestination参数指定哪些邮件地址允许在本地发送邮件。这是一组被信任的允许通过服务器发送或传递邮件的IP地址。用户试图通过发送从此处未列出的IP地址的原始服务器的邮件将被拒绝。
inet_interfaces:
inet_interfaces参数设置网络接口以便Postfix能接收到邮件。
relay_domains:
该参数是系统传递邮件的目的域名列表。如果留空,我们保证了我们的邮件服务器不对不信任的网络开放。
home_mailbox:
该参数设置邮箱路径与用户目录有关,也可以指定要使用的邮箱风格。


第二个是:dovecot的配置文件  /etc/dovecot/dovecot.conf,需要修改的内容如下所示,其他的默认即可。

protocols = imap pop3 lmtp imaps pop3s
ssl_disable = no
mail_location = Maildir:~/Maildir
disable_plaintext_auth = no


在配置的过程中, 还有一些细节需要注意 :

那就是设置 默认的 MTA,  卸载掉  sendmail , 把MTA设置为 postfix,  设置开机自动启动  postfix  和  dovecot。

然后用 useradd  zhang  命令添加一个用户 , 密码设置  passwd zhang   为  123456

启动服务:

service    postfix    restart

service    dovecot    restart

service    saslauthd    restart

下来配置  outlook,  填写 电子邮件地址为 : zhang@linuxidc.com

账号类型选择  POP3,  接收邮件服务器为    linuxidc.com,  发送邮件服务器也为  linuxidc.com

然后用户名为    zhang,  密码为  123456

不出意外的话,  应该可以正常收发邮件了。

新邮件会保存在服务器的    /home/zhang/Maildir/new    这个目录里。

我这个配置比较简单, 是用的服务器本身的密码验证机制。  postfix 很强大, 可以支持多种认证方式和其他的加密方式。

本来想用  postfixadmin 进行web管理的,  但是那个配置起来就要更复杂一些了,  通过web的方式添加用户后, 需要在  home 目录创建对应的用户名的文件夹来保存邮件, 有相关的脚本需要执行,另外认证模式得修改为mysql认证, 配置 稍微复杂, 等下一篇文章在写 postfixadmin 相关的东西吧。

Postfix 日志 connect from unknown错误

配置postfix, 提示如下错误:

postfix/smtpd[29233]: connect from unknown[58.38.183.244]

解决办法:

关键是postfix配置文件main.cf 里的mynetworks, 修改为如下所有网段都通过就可以了。

mynetworks = 0.0.0.0/0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值