网站地图

centos安装和配置postfix

创建时间:2014-01-08 10:54:12最后修改:2014-01-08 10:54:12

1.先安装postfix

yum -y install postfix

2.卸载自带的sendmail
rpm -e sendmail

3.查看默认的邮件传输代理是什么
alternatives --display mta

4.如果此时显示的邮件传输代理不是postfix则运行下面的命令将其改为postfix
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix

5.再次检查默认的邮件传输代理看是否列改成功
alternatives --display mta

配置文件解释:
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:
该参数设置邮箱路径与用户目录有关,也可以指定要使用的邮箱风格。

6.配置POSTFIX
Postfix配置文件主要是两个master.cf和main.cf,这里我们只需要配置main.cf,即/etc/postfix/main.cf。
编辑main.cf文件

用VIM来编辑配置文件:

vim /etc/postfix/main.cf

在文件main.cf找到以下的几行并按照下面的更改好:

myhostname = mail.1a-centosserver.com
mydomain = 1a-centosserver.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.13.0/24, 127.0.0.0/8
relay_domains =
home_mailbox = Maildir/
7、开放SMTP端口
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
service iptables save
8.测试SMTP服务是否可以链接
telnet 127.0.0.1 25
9.安装SMTP认证组件
yum install -y dovecot saslauthd*

10.运行saslauth

saslauthd -v
#如果显示类似authentication mechanisms:getpwent pam shadow则可显示saslauthd支持的认证机制

11.编辑/etc/sysconfig/saslauthd文件

vim /etc/sysconfig/saslauthd
#确认其为MECH=pam
12.启动saslauthd
service saslauthd start
运行:
/usr/sbin/testsaslauthd –u user –p 'password'
#不管验证是否通过,主要目的是测试saslauthd认证功能是否起作用了
13.设置postfix支持smtp认证
在main.cf文件中更改如下:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

14.编辑/usr/lib/sasl2/smtpd.conf文件,确认其为:

pwcheck_method: saslauthd
15.重新启动postfix
service postfix start
16.添加邮件用户
useradd testusername
17.修改邮件用户密码
passwd testusername