邮件服务器的作用 : 为一个域收信 . 前提要有 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 –e --nodeps sendmail
#rpm –e --odeps postfix
#rpm –qa | 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 –t 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 –C /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 –C /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 看转载的文章