搭建邮件服务器:
1.先建个dns服务器,实现mail.a.org的正反向解析。
如何搭建dns服务器在此就不做过多说明了,请参照搭建dns服务器的相关博文。
注意:必须使其可以进行正反向解析,邮件服务要求必须有反向解析。
2.卸载sendmail,安装postfix
rpm -e sendmail --nodeps(卸载sentmail,忽略依赖关系)
yum install postfix
service postfix start
chkconfig postfix on(使其可以开机自动启动)
3.添加用户
useradd gentoo
useradd centos
useradd ubuntu
此时postfix已经安装好了,我们就可以实现发邮件了。
发一封邮件试一下:
telnet 127.0.0.1 25
HELO mail.a.org
mail from:(发件人是不会做验证的,可以随便写)
rcpt to:(因为默认postfix只监听了127.0.0.1,所以我们现在还只能使用loclhost, 不能用,a.org是由192.168.0.7解析的)
data回车
Subject:how are you
how are you???
.(想结束邮件正文使用.即可)
quit(退出)
tail /var/log/maillog(查看maillog日志)
postqueue -p (查看邮件队列,里面存放的有未发送出去的邮件)
su - gentoo (切换到getoo)
mail(收邮件)
下面我们来配置postfix的主配置文件来扩大postfix的功能:
主配置文件:/etc/postfix/main.cf
cd /etc/postfix
cp main.cf main.cf.bak(将主配置文件做一下备份)
vim main.cf
myhostname=mail.a.org(做dns时里面应有mail.a.org解析记录)
inet_interfaces=$myhostname localhost(定义监听哪个接口)
mydomain = a.org(定义域)
myorigin = $mydomain
mydestination=$myhostname, localhost.$mydomain, localhost, $mydomain,mail.$mydomain
(postfix只负责发送目的为mydestination里定义的域或主机的邮件。
自己负责接收的都不需要中继,自己不负责的得进行中继才能发出去,否则发不出去。)
service postfix reload
此时我们再发邮件时收件人就可以写了,再发一封邮件试试。
telnet 192.168.0.7 25
HELO mail.a.org
mail from:gentoo@a.org
rcpt to:
data
Subject:ok
ok?
.
quit
4.实现可以收邮件:
yum install dovecot
主配置文件:/etc/dovecot.conf
vim /etc/dovecot.conf
protocols=pop3
service dovecot start
chkconfig dovecot on
好了,此时我们的mail服务器已经搭建完成,并且可以实现收发邮件功能了。
可以使用客户端工具outlook来进行测试。
下面我们来扩展mail服务器的功能
1.添加SMTP用户认证
1》配置并启动saslauthd服务
建立配置文件:/usr/lib/sasl2/smtpd.conf
启动saslauthd服务
cd /usr/lib/sasl2
cp Sendmail.conf smtpd.conf
vim /usr/lib/sasl2/smtpd.conf(设置验证方式)
pwcheck_method:saslauthd(这一行是自动生成的)
service saslauthd status
service saslauthd start
2》调整main.cf文件,以便支持认证
修改后要重载postfix服务:postfix reload
vim /etc/postfix/main.cf
....
smtpd_sasl_auth_enable=yes(允许进行sasl认证)
smtpd_sasl_security_options=noanonymous(禁止匿名登录)
mynetwork=127.0.0.1
smtpd_recipient_restrictions= (设置收件人过滤规则)
permit_mynetworks, (允许来自mynetwork的主机无条件中继邮件)
permit_sasl_authenticated,(允许通过认证的用户向外网中继邮件)
reject_unauth_destination(若收件人地址未在授权网络内,则拒绝发送)
3》测试带验证的SMTP发信功能
获得此时用账号,密码的BASE64加密字串
printf "gentoo" | openssl base64
printf "123456" | openssl base64
通过telnet方式连接,并执行测试
。。。。
telnet mail.a.org 25
AUTH LOGIN
334 VXNIcm5hbwu6
eGIhb3Fp(加密后的用户名)
334 UGFzc3dvcmQ6
MTIzNDU2(加密后的秘密)
235 2.0.0 Authentication successful
MAIL FORM:gentoo@a.org。
2.aliases 别名机制
一般使用/etc/aliases文件
aliases文件的记录格式:
别名:地址1,地址2,地址3。。。
执行newaliases命令,以更新别名设置
vim /etc/postfix/main.cf
....
alias_maps=hash:/etc/aliases
:wq
vim /etc/aliases
....
student:zhangsan,lisi,mike,john
:wq
newaliases(发给student的邮件,将自动转发给群组内的4个用户,相当于群发)
service postfix reload
注意:/etc/aliasers里面定义的别名的格式
1)a:b
2)a@a.org:
3)kehu:a b 只要发给kehu,则a,b,c都会收到,相当于群发
阅读(2571) | 评论(0) | 转发(0) |