Sendmail邮件服务

邮件系统组成

MTA (Mail Transfer Agent):邮件传输代理,负责把邮件由一个服务器传到另一个服务器或邮件投递代理;
MUA (Mail User Agent):邮件用户代理 , 帮助用户读写邮件;它提供了阅读、发送和接受电子邮件的用户接口。 MUA 也是用户和 MTA 之间的接口。常用软件: outlook 、 foxmail 等 , MUA 至少具有如下 3 个功能: a. 撰写邮件、 b. 显示邮件、 c. 处理邮件MDA(Mail Delivery Agent), 邮件投递代理,把邮件放到用户的邮箱里。

邮件相关协议

Email 服务一般常用 SMTP 、 POP3 、 IMAP4 协议,各个协议的作用如下:
SMTP: SMTP 协议是简单邮件传输协议(Simple Mail Transfer Protocol)英文的缩写。 SMTP 控制如何传送电子邮件,然后通过 Internet 将其发送到目的服务器。
POP3: POP 是邮局协议(Post Office Protocol)的英文缩写,是一种允许用户从邮件服务器接收邮件的协议。
IMAP4: IMAP 协议是 Internet 消息访问协议(Internet Message Access Protocol)的英文缩写,现在常用的版本是 4 。它为用户提供了有选择的从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享邮箱功能。
MIME (Multipurpose Internet Mail Extension ) :多用途因特网邮件扩展协议 , 作用:协调和统一发送方和接收方之间的编码方式 .
POP 与 IMAP 的区别在于, POP 协议只能把服务器上的邮件下载到客户端处理; IMAP 除了 POP的访问方式外,还有在线阅读、远程维护邮箱、在服务器上保存邮件等功能。

一 配置基本的 sendmail 服务

1.配置 DNS 的 MX 记录
( 注:下面的操作也可以在 Webmin 的页面中通过添加主机、别名、 MX 等记录来实现 )

在 DNS 服务器上修改域正向解析文件

$ vi /var/named/named.net03.org

@ IN SOA ns.net03.org. root.ns.net03.org.
(
2004051501 ; serial
28800 ; refresh 14400 ; retry
3600000 ;expire
86400 ) ; minimum
@ IN NS ns.net03.org.
@ IN MX 5 mail.net03.org.
ns IN A 192.168.66.10
ns1 IN A 192.168.66.11
mail IN A 192.168.66.3
www IN A 192.168.66.1
ftp IN A 192.168.66.2

在 DNS 服务器上修改域反向解析文件 , 并重启 named 服务

$ vi /var/named/named.192.168.66
@ IN SOA ns.net03.org. root.ns.net03.org.
(
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS ns.net03.org.
10 IN PTR ns.net03.org.
11 IN PTR ns1.net03.org.
3 IN PTR mail.net03.org.
1 IN PTR www.net03.org .
2 IN PTR ftp.net03.org .
$ service named restart

2.安装 sendmail 服务
sendmail相关的RPM包:
sendmail
sendmail-cf: 与 sendmail 服务器配置相关的程序与文件
sendmail-doc: sendmail 服务器文档
m4: 把较容易理解的宏配置文件生成为语法复杂的配置文件的工具
dovecot: 包含 POP 和 IMAP 服务的包

3. 配置 SMTP 服务地址及端口号
编辑 sendmail 配置文件,找到所示行,将该行 Addr 项改为 0.0.0 .0 或服务器的 IP 地址:
O DaemonPortOptions=Port=smtp,Addr=0.0.0 .0,

$ vi /etc/mail/sendmail.cf
…
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1,
…

注:为减少出错机会,可先关闭防火墙、SELinux 。

4.设置 sendmail的本地主机名
在 local-host-names 文件中添加所示两行内容,并保存退出编辑器

$ vi /etc/mail/local-host-names
…
mail.net03.org
net03.org
$ service sendmail restart

5.设置邮件服务器中继权限

$ vi /etc/mail/access
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
net03.org RELAY
192.168.66.0 RELAY

$ cd /etc/mail
$ makemap hash access.db

6.配置dovecot并重新启动sendmail服务
编辑 dovecot 配置文件

$ vi /etc/dovecot.conf

找到以下行
# Protocols we want to be serving:
# imap imaps pop3 pop3s
#protocols = imap imaps
根据你要使用的协议,设置需要使用的邮件接收协议,例如,最常见的情形是
protocols = imap pop3
启动sendmail及dovecot服务

$ service sendmail restart
$ service dovecot start

二 在多个有父子关系的域之间(域树)进行邮件收发

假定已经建立了如下的域名系统,父域 net03.org 、子域 xxx.net03.org 、 yyy.net03.org …… ;域内的所有计算机都使用父域 net03.org 的域名服务器地址作为首选 DNS 服务器;并分别在各域中建立了一台或多台 sendmail 服务器 ,针对单个域进行邮件收发测试通过。
现要在这些域之间进行邮件收发,需要在各 sendmail 服务器上做如下操作:
1.) 执行 hostname 指令 , 查看本机名称,一般情况下,如果没有更改过,一般都为localhost.localhostdomain
2.) 编辑文件 /etc/sysconfig/network ,将本机名称改为域中 sendmail 服务器的名称,如 :
mail.xxx.net03.org 、 mail.yyy.net03.org
3.) 编辑主机文件 /etc/hosts 夹,检查 127.0.0.1 那一行是否只有 localhost 与localhost.localdomain 这两种叙述 . 并新增像下面的行如 :
192.168.62.211 mail.xxx.net03.org mail
4.) 重新启动 sendmail
5.) telnet localhost 25 检查是否出现正确的 hostname
使用各种邮件客户端,像 Evolution 、 OE 、 mail 命令等给其它域上的用户发送邮件,并接收其它域发送过来的邮件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注