邮件服务器的作用
:
为一个域收信
.
前提要有
DNS
服务要有
MX
记录
.
一
、基本概念
:
1
、发信服务器
:
用来替用户把邮件发送到目的地的服务器
,
一般运行着
Smtp
服务器软件
.(
相关于邮局
)
收信服务器
:
等待用户来收信的服务器
,
一般运行着
Pop/imap
服务器软件
.(
相关于家门口的邮箱
)
2
、
MTA(Mail Transfer Agent)
邮件传输代理
,
发送邮件服务器软件的总称
,
如
:Sendmail ,Qmail ,Postfix,exim
等
注意
:
一个服务器上只能运行一种
MTA.
MUA(Mail User Agent)
邮件用户代理
.
帮助用户收信的客户端软件的总称
.
如
Outlook Foxmail.
注意
:
一个客户端可以装多种
MUA.
3
、
Smtp
服务器的工作原理
:
收到邮件
------
à
[
是自己的邮件吗
?]---------
à
(
是
)
放进本地信箱
|
|
(
不是
)
发送到目标域
.
二
、
Sendmail
服务器的安装
1
、
安装
(
像这种安全要求较高的服务最好用最新的稳定版
)
A
、下载网站
:[url]Http://www.sendmail.org[/url]
B
、准备编译环境
:
删除
Sendmail
以及
Postfix
等其它服务软件
.
#rpm �Ce --nodeps sendmail
#rpm �Ce --odeps postfix
#rpm �Cqa | grep sasl ##
查找相关的软件包
需要安装
:cyrus-sasl, cyrus-sasl-devel, cyrus-sasl-plain
需要
DNS
环境
: (
现在因为是做实验
,
所以自己做服务器
,
而实际中不一定要自己做
)
在区域文件中加入
: (DNS
配置见第二章笔记
)
@ IN SOA sina.com. root.sina.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS sina.com.
IN MX 5 sina.com. ##
其中的5是优先级
,
在多台的情况下
.
sina.com. IN A 192.168.0.254
mail IN A 192.168.0.254
www IN A 192.168.0.254
配置
DNS
后
,
查看下
:
#host �Ct MX abc.com
#host mail.abc.com
三
、
配置
Sendmail
1
、
配置文件
A
、
/var/spool/mail(
或者
/var/mail) ##
收件箱的配置文件
B
、
/var/spool/mqueue ##
邮件发不出去时存放的位置,壶
30-60
分钟再发
C
、
/etc/mail ##
主配置文件的文件夹
D
、
/etc/mail/access ##
访问控件文件
E
、
/etc/aliases ##
邮箱别名有配置文件
F
、
/etc/mail/local-host-name ##Sendmail
接收邮件主机名列表
G
、
/stc/mail/sendmail.cf ##Sendmail
的主配置文件
H
、
/stc/mail/virtuSertable ##
虚拟用户和域配置文件
2
、在
DNS
配置好的前提下配置
#cd /etc/mail
#vi sendmail.mc
修改第
85
行:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#将
127.0.0.1
改为服务器的IP
:
如1
92.168.0.254
修改第
123
行:
LOCAL_DOMAIN(`Localhost.com')dnl
将
Loclhost.com
改为邮件服务器的域名
LOCAL_DOMAIN(`abc.com')dnl
生成
Sendmail.cf
#m4 sendmail.mc > sendmail.cf
或者
#make �CC /etc/mail (
注意:
C
是大写
)
加入自己的主机名
(abc.com)
#vi /etc/mail/local-host-names
访问控制:
#vi /etc/mail/access
Abc.com REALY
生成数据库:
#makemap hash access/db < access
重启
Sendmail: #killall -9 sendmail
#service sendmail start
#service sendmail restart
两次
3
、发信的过程:
#telnet mail.sina.com 25
>helo www
>data
>
内容
>. (
以点结束
)
#tail /var/mail/root
查信
4
、区分真实用户和虚拟用户。
# vi /etc/aliases
1)
别名:(前为虚拟用户,后为真实用户,一对一)
Renshibu : Jim
Caiwubu : Tom
2)
邮件列表
.(
前为虚拟用户,后为很多真实用户,一对多。可以实现群发
)
Benet : a,b,c,d
2)
转发:(两边都是真实的用户,即发给左边用户的都转给右边的。)
Abc : Doc
5
、虚拟用户和主机。(用于一个服务器有多个域的情况)
1
)
DNS
添加一个域,如:
doc.com
2
)在
/etc/mail/local-host-names
添加
doc.com
3)
在
/etc/mail/access
中添加
doc.com
4)
#
makemap hash : access.db < access
5)
重启服务
.
6
、设置
pop3/IMAP
(作用:用于客户端存取远程服务器中信件的功能)
#vi /etc/xinetd.d/ipop3
将中间的
disable=yes
的
yes
改为
no
#vi /etc/xinetd.d/imap
改的也是一样的。。。
#
service xinetd restart
重启服务。。
7、SMTP认证
(
用到
SMTP
认证就用不着
Access
了。
)
#vi /etc/sendmail.mc
改:1)去掉43、44行的注释,一定要顶格,不能有空格。
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
2)85行加上注释
dnl
,格式和前面的一样。
加的
dnl
后有空格。。
Dnl DAEMON_OPTIONS(`Port=smtp,Addr=192.168.0.254, Name=MTA')dnl
3
)
92
行:
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
将
submission
改成
25
。
4)
运行:
#make �CC /etc/mail
5)
重启
Sendmail
服务
.
6)
验证:
Outlook.
设置:工具――》帐户――》属性――》服务器。
选择我的服务器需要认证。进行设置。
8
、
Postfix
准备工作:先杀掉
Sendmail
或其它邮件服务。。
1
、
vi /etc/postfix/main.cf
A
改:
69
行
去掉
# myhostnamed=abc.com
B 76
行
去掉
#
号
mydomain = abc.com
C 88
行
去掉
#
号
myorigin = $mydomain
D 97
行
加上
#
号
98
行
去掉
#
号
inet_interfaces
E 157
行
去掉#号
mynetsorks_style=subnet
我的网络类型
F 172
行
去掉#号
mynetworks =192.168.0.0/24
控制访问的网段。。
2
、开启或者重启服务。。
详细的
Postfix
看转载的文章
出自 51CTO.COM博客