1、首先从软件管理里把所有有关邮件服务软件都装上,其中包括了,sendmail和dovecot
2 、 DN S配 置
(1)修改/etc/named.conf ,此文件一般是个软链接,添加如下:
zone "excontainer.com" IN {
type master;
file
"excontainer.com";
};
zone "47.7.33.10.in-addr.arpa" IN {
type master;
file "10.33.7.zone";
};
(2)/etc/resolv.conf (添加如下)
search excontainer.com
nameserver 10.33.7.47
(3)/var/named/*( 下目录文件都是软链接,我们要到/var/named/chroot/var/named/*下建立文件,然后LINK到这个文件里)
正向解析文件excontainer.com文件里内容:
$TTL 86400
@
IN SOA excontainer.com. root.excontainer.com. (
42
; serial (d. adams)
3H
; refresh
15M
; retry
1W
; expiry
1D
)
; minimum
@
IN NS
10.33.7.47
IN NS
excontainer.com.
IN MX
10 excontainer.com
service IN
A 10.33.7.47
www IN
A 10.33.7.47
mail IN
A 10.33.7.47
反向解析文件 10.33.7.zone文件里内容:
$TTL 86400
@
IN SOA
excontainer.com. root.excontainer.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS
excontainer.com.
47
IN PTR www.excontainer.com
配置完成后:
service named restart
测试DNS:nslookup
[root@linux4 named]# nslookup
> www.excontainer.com
Server:
10.33.7.47
Address:
10.33.7.47#53
Name: www.excontainer.com
Address: 10.33.7.47
> 10.33.7.47
Server:
10.33.7.47
Address:
10.33.7.47#53
47.7.33.10.in-addr.arpa name = www.excontainer.com.47.7.33.10.in-addr.arpa.
ctrl+d退出
3 配置 sendmail.mc :
打开/etc/mail/sendmail.mc文件,
找到:
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN
PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5
CRAM-MD5 LOGIN PLAIN')dnl
把前面的dnl注释去掉,变成:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN
PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5
LOGIN PLAIN')dnl
上面两句的意思是:
放行那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件用户,无视access文件中的设置。
confAUTH_MECHANISMS,确定系统支持的认证方式。LOGIN PLAIN 方式下,outlook用的多。
还不算完,找到:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, )dnl
改成:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, )dnl
这样所有ip地址都可以通过smtp端口使用我们的邮件服务器了。
-----------------------------------------------------------
这里要说一句,不要改
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
这句话!保持注释状态。
上面那句话,网上好多文章都说把Port=submission,改成Port=25,说是强制所有用户在25端口上做认证。
我不知道sendmail以前的版本是怎么样设置smtp认证的。sendmail8.13不用这么设置,这句话人家sendmail的意思是:取消注释后,一旦当25号端口被重定向或者被屏蔽,或者在25号端口打不开的情况下,马上使用587备用端口给用户做认证。
本来人家sendmail就已经打开了25端口(Port=smtp了已经),你却在这里还Port=25,把备用端口也改成25,这不是让sendmail的sm-client认
证进程和sendmail的主进程抢端口么....
运行M4程序,重新生成sendmail.cf文件:
#m4 /etc/mail/sednmail.mc > /etc/mail/sendmail.cf
#vi /etc/mail/access 配置邮件服务器的使用权限
编辑access文件,允许excontainer .com主机名发送email。
加如下:
----------------------
10.33.7 RELAY -->允许这个网段的IP发送email。
excontainer.com RELAY
----------------------
配置完后,将修改的内容,导入access.db数据库中,提供给sendmail服务器使用。
----------------------
makemap hash /etc/mail/access>/etc/mail/access.db
----------------------
无提示,成功导入。
配置完成后:
service sendmail restart
开始测试端口
#telnet localhost 25
接着输入:ehlo localhost
其中有一个LOGIN PLAIN 字母出现证明成功
quite退出telnet
4、 配置POP3服务的功能
vi /etc/dovecot.conf 修改
protocols = pop3
配置完成后:
service dovecot restart
5、修改HOST
sendmail邮件主机的名字是由local-host-names文件来配置的,命令:
----------------------
vi /etc/mail/local-host-names
----------------------
例如:你的邮件是 root@excontainer.com,那么在local-host-names文件里配置如下:
----------------------
excontainer.com
修改hosts使发件人信息为你的域名,就因为mail server 接收梧桐的寄信连线时,自动依 /etc/hosts
的解析名称结果,而填写上去的。
vi /etc/hosts
在127之前加
10.33.7.47
linux4
excontainer.com
127.0.0.1
linux4 localhost.localdomain localhost
修改以后给本机发邮件,发信人就是root@excontainer.com,而不会是root@localhost.localdomain
最后
mail root@excontainer.com
测试邮件
其中有LOG可上/var/log/maillog文件里查看。