Centos安装配置Postfix邮件服务器
发布时间:July 6, 2012 // 分类:Mail // No Comments
在安装邮件服务器之前先了解几个名词,以后会用到:
1
2
3
4
5
6
|
MUA:用户代理端,即用户使用的写信、收信客户端软件 MTA:邮件传送端,即常说的邮件服务器,用于转发、收取用户邮件。 MDA:邮件代理端,相当于MUA和MTA的中间人,可用于过滤垃圾邮件。 POP:邮局协议,用于MUA连接服务器收取用户邮件,通信端口110。 IMOP:互联网应用协议,功能较POP多,通信端口143。 SMTP:简单邮件传送协议,MUA连接MTA或MTA连接MTA发送邮件使用此协议,通信端口25。 |
本次配置MTA以Postfix为例,较sendmail简单、安全,且兼容于sendmail。
Postfi安装:
1
2
3
|
yum install postfix yum remove sendmail /etc/init .d /postfix start |
Postfix主配置设定:
1
2
3
4
5
6
7
8
9
10
11
|
cat /etc/postfix/main.cf myhostname = mail.haiyun.me #Mail服务器域名,EHLO名称。 mydomain = www.haiyun.me # myorigin = $mydomain #发信地址,此设置显示为@www.haiyun.me。 inet_interfaces = all #如对外提供MTA服务设置为监听所有网卡,默认只监听本地。 inet_protocols = all #支持协议,可选IPV4/IPV6。 mydestination = $mydomain $myhostname #本地邮件域名,直接接收 mynetworks_style = subnet #允许转发的来源网段,可选subnet子网,class网段,host本机 mynetworks = 192.168.1.0/24,127.0.0.0/8 #允许转发的来源IP,设置后忽略mynetworks_style参数 relay_domains = $mydestination #允许转发的目标域 smtpd_banner = $myhostname ESMTP "Mail Server" #自定服务器信息 |
现Postfix允许接收或发送邮件的条件:
1
2
3
4
5
6
|
接收邮件: 目的地为$inet_interfaces的邮件; 目的地为$mydestination或$vitual_alias_maps的邮件。 转发邮件: 来源客户端符合$mynetworks的邮件; 来源或目的为$relay_domains的邮件。 |
配置邮件别名:
1
2
3
|
cat /etc/aliases test:root,test@www.haiyun.me 别名:收件地址1,收件地址2 |
更新别名数据库:
1
|
newaliases |
配置邮件转发:
1
2
|
cat ~/.forward test@www.haiyun.me,test2@www.haiyun.me |
设置SMTP密码验证,为防止MTA被滥用在postfix有配置信任网段,如在外网可使用smtp密码验证方式。
以系统用户密码方式认证,先启动saslauthd服务协助postfix进行系统密码验证:
1
2
3
|
/etc/init .d /saslauthd start chkconfig saslauthd on yum install cyrus-sasl-plain cyrus-sasl-md5 cyrus-sasl |
确定SMTPD配置文件有以下内容:
1
2
|
cat /usr/lib/sasl2/smtpd.conf pwcheck_method: saslauthd #saslauthd协助smtp进行密码验证 |
配置Postfix使用SASL验证,编辑main.cf配置文件添加:
TEST:testsaslautd -u username -p 'password'
1
2
3
4
5
6
7
|
smtpd_sasl_auth_enable = yes #开启SMTP验证 smtpd_sasl_security_options = noanonymous #不允许匿名用户 smtpd_recipient_restrictions = #接收者限制规则,按顺序执行 permit_mynetworks, #mynetworks用户通过,匹配结束 permit_sasl_authenticated, #sasl验证用户通过,匹配结束 reject_unknown_sender_domain, #拒绝无效的发送邮件域名 reject_unauth_destination #拒绝收件人非mydestination、relay_domains或virtual_alias_maps定义域邮件 |
测试SMTP验证是否生效:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
telnet localhost 25 Trying ::1... Connected to localhost. Escape character is '^]'. 220 mail.domain.com ESMTP Postfix ehlo localhost 250-mail.domain.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN #显示此信息代表验证正常 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN |
1
|
yum -y install dovecot |
编辑dovecot配置文件:
1
2
3
|
vim /etc/dovecot/dovecot.conf protocols = imap pop3 #监听协议 login_trusted_networks = 127.0.0.1 #允许登录接收邮件的IP段 |
设置邮件目录:
1
2
|
cat /etc/dovecot/conf.d/10-mail.conf mail_location = mbox:~/mail:INBOX=/var/mail/%u |
新建Mail账号:
1
|
useradd -g mail -s /sbin/nologin user |
启动dovecot服务:
1
|
/etc/init.d/dovecot start |