/ 中存储网

Linux系统下如何配置邮件服务器

2014-07-13 20:24:53 来源:中存储网

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文件里查看。