作者:louis | 来源:互联网 | 2014-05-28 08:57
Sendmail邮件配置安装包(sendmail-8.13.8-2.el5.i386.rpm,sendmail-cf-8.13.8-2.el5.i386.rpm,m4-1.4.5-3.el5.1.i386.rpm)由于sendmail的真正配置文件作者是用一种生僻的语言写的,号称天书,没几个人看得懂,所以我们配置的时候
Sendmail邮件配置
安装包(
sendmail-
8.13.8-2.el5.i386.rpm,sendmail-cf-8.13.8-2.el5.i386.rpm,m4-1.4.5-3.el5.1.i386.rpm)
由于sendmail的真正配置文件作者是用一种生僻的语言写的,号称天书,没几个人看得懂,所以我们配置的时候是配置的/etc/mail/sendmail.mc,这个比较好懂,每次修改后都要用m4
sendmail.mc > sendmail.cf将修改的内容写到天书里面去。
/etc/mail下面的文件
[root@Server mail]# ls
access domaintable.db
mailertable sendmail.cf
submit.cf trusted-users
access.db helpfile
mailertable.db sendmail.cf.bak submit.cf.bak virtusertable
domaintable local-host-names Makefile
sendmail.mc
submit.mc virtusertable.db
首先修改local-host-names
vim local-host-names
# local-host-names - include all aliases for your machine here.
mail.test.com #让sendmail知道哪些邮件属于本地域的邮件,这里添加了@mail.test.com
test.com
#和@test.com,凡是邮件后缀是这2个的都认为是本地邮件。
修改配置文件sendmail.mc #这个只是比较易懂的配置文件,修改以后必须用m4生成sendmail.mc才生效
首先先来修改服务器smtp的监听范围,就是来自哪个地方的邮件sendmail会帮他发送。默认是监听本机的,所以在客户端发邮件不成功。
修改之前我们应该备份一下配置文件,以免修改乱了还可以还原回来。
cp -avp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
cp -avp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
修改的地方:
112 dnl # The following causes sendmail to only listen on the IPv4
loopback address
113 dnl # 127.0.0.1 and not on any other network devices. Remove
the loopback
114 dnl # address restriction to accept email from the internet or
intranet.
115 dnl #
116 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
将Addr=127.0.0.1改为0.0.0.0即可
m4 sendmail.mc > sendmail.cf
service sendmail restart #如果启动很慢,vim /etc/hosts文件,加入
#192.168.x.x mail.test.com Server(DNS里面
设置的也加进来) #是啥意思还没完全搞懂
现在默认本地用户就可以发信了,还不能用pop收信,要安装dovecot这个组件才能启用pop3收信。
那么往外域发送邮件呢?下面就来进行邮件中继的设置
2台电脑之间发生的邮件收发不会产生中继,涉及到3台电脑的就会有中继发生,最常见的就是内部用户通过本地的邮件服务器外发给外域的用户。
有2个方法:
1、修改/etc/mail/access文件,
# Check the /usr/share/doc/sendmail/README.cf file for a
description
# of the format of this file. (search for access_db in that
file)
# The /usr/share/doc/sendmail/README.cf is part of the
sendmail-doc
# package.
#
# by default we allow relaying from localhost...
Connect:localhost.localdomain
RELAY
Connect:localhost
RELAY
Connect:127.0.0.1
RELAY
(默认只对本机发送的邮件中继,在下面添加中继)
192.168.2
RELAY #192.168.2.0/24网段可以中继
2、启用smtp身份认证,凡是属于我服务器的合法用户都中继
修改/etc/mail/sendmail.mc
……
50 dnl # Please remember that saslauthd needs to be running for
AUTH.
51 dnl #
52 dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN
PLAIN')dnl
53 dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5
CRAM-MD5 LOGIN PLAIN')dnl
……
红色2行就是和smtp认证有关的,取消前面的dnl注释,不要留空格,就开启了smtp认证功能。
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
service sendmail restart
service saslauthd restart #和认证相关的服务,不开这个就启用不了smtp身份认证。
开启认证以后客户端的MUA要在服务器一项上设置我的smtp服务器需要身份验证,但是如果是第一种方法就不需要了。
邮件别名:可以定义一个或多个用户的别名,发送的时候收件人为设定的别名就可以了
修改/etc/aliases #启用转发,发给某个用户的邮件自动转发到指定的另外一个用户
# Person who should get root's mail
#root: marc
rsb: tom,mike
#这里rsb这个是没有的用户
修改后执行newaliases #不执行发送的时候会拒绝这个收件人
启动pop3
这个最简单,直接安装dovecot,然后service dovecot start 就可以了,什么都不用设置。