300 likes | 463 Views
本章重点内容. 电子邮件系统简介 安装配置 MTA——Sendmail( 发送 ) 安装配置 MAA——UW IMAP (接收). 电子邮件系统的组成( 1 ). 邮件用户代理 邮件传输代理 邮件提交代理 邮件投递代理 邮件访问代理. 电子邮件系统的组成( 2 ). 邮件用户代理( Mail User Agent , MUA ) MUA 是一个邮件系统的客户端程序,它提供了阅读、发送和接收电子邮件的用户接口。
E N D
本章重点内容 电子邮件系统简介 安装配置MTA——Sendmail(发送) 安装配置MAA——UW IMAP(接收)
电子邮件系统的组成(1) 邮件用户代理 邮件传输代理 邮件提交代理 邮件投递代理 邮件访问代理
电子邮件系统的组成(2) 邮件用户代理(Mail User Agent,MUA) MUA是一个邮件系统的客户端程序,它提供了阅读、发送和接收电子邮件的用户接口。 常用MUA有:Linux中mail、elm、pine、Evolution等;Microsoft 的OE,Foxmail等。 邮件传输代理(Mail Transfer Agent,MTA) MTA负责邮件的存储和转发(Store and Forward)。 Linux下常用的MTA程序有Sendmail、qmail、Postfix等。
电子邮件系统的组成(3) • 邮件提交代理(Mail Submission Agent,MSA) • MSA负责消息由MTA发送之前必须完成的所有准备工作和错误检测。 • MSA通常是由MTA运行在特定端口(587)上实现的。 • 邮件投递代理(Mail Delivery Agent,MDA) • MDA从MTA接收邮件并进行适当的本地投递,可以投递给一个本地用户、 一个邮件列表、一个文件或是一个程序。通常MDA也称本地投递代理 (Local Delivery Agent,LDA)。 • Linux下常用的MDA有mail.local、smrsh和procmail(www. procmail.org)。
电子邮件系统的组成(4) • 邮件访问代理(Mail Access Agent,MAA) • MAA用于将用户连接到系统邮件库,使用POP或IMAP协议收取邮件。 • Linux下常用的MAA有UW-IMAP、Cyrus-IMAP、COURIER-IMAP。
电子邮件协议(1) SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 用来接收和发送电子邮件的TCP/IP协议 用于把电子邮件从客户机传输到服务器,或者 从某一服务器传输到另一个服务器。 SMTP服务工作在25端口
电子邮件协议(2) POP3(Post Office Protocol,邮局协议,目前为第3版本) 是关于接收电子邮件的客户机/服务器协议。 POP3服务工作在110端口 客户端程序以POP命令下载服务器上的邮件到本地硬盘, 然后在本主机就可以在离线状态下阅读信件。
电子邮件协议(3) IMAP(Internet Message Access Protocol,网际消息访问协议) 是通过Internet获取信息的一种协议。支持POP3的全部功能。 IMAP服务工作在143端口 IMAP提供的摘要浏览功能可以让用户在阅读完所有的邮件到达时间、主题、 发件人、大小等信息后才做出是否下载的决定。
电子邮件的地址格式: • 电子邮件的地址格式:user-id@主机域名。 例: dengyuchun@ccniit.com ,其中 dengyuchun为用户名,ccniit.com为东软的邮件服务器域名。 • user-id:用户名,通常为用户在某台邮件服务器上注册的用户标识; • 主机域名:表示邮件服务器的域名; 注:用户要使用电子邮件,首先要有一个邮件地 址,即: 需要申请一个邮件帐户。用户的邮件帐户在unix系统中 实际上就是操作系统中的用户名,作为操作系统的一个 用户。
SMTP协议交互过程 • SMTP采用客户机/服务器通信模式,邮件服务器启动“smtpd”进程,监听TCP端口25的请求,接到连接请求connect后,双方交换信息,客户端发送命令,服务器给予响应。
电子邮件的投递过程 • 用户发送邮件 • 用户要发送邮件,通过系统提供的“用户代理程序--UA”进行,例如:Unix系统中的mail命令,用户可以“书写”邮件:邮件的发送者、邮件的接收者(可以有多个接收者)、邮件的正文、邮件的附件等等。然后发送邮件。
电子邮件的投递过程 • 系统转发邮件 • “用户代理程序”将用户的邮件传给负责邮件传输的程序,例如:Unix系统中的Sendmail进程,该进程始终在系统中运行,随时准备接收用户的发送邮件请求,Sendmail进程根据邮件接收者的地址,与接收方邮件服务器进行交互,将邮件发给接收方的邮件服务器。
电子邮件的投递过程 邮件存放用户邮箱 接收方邮件服务器接收到邮件后,根据邮件接收者的用户名将邮件放到用户的邮箱中。在电子邮件系统中,为每个用户分配一个邮箱(用户邮箱),例如:Unix系统中该邮箱位于/usr/spool/mail/目录下,邮箱标识与用户标识相同。 用户邮箱位于邮件服务器上
电子邮件的投递过程 • 用户接收邮件 • 用户要接收邮件,也是通过系统提供的“用户代理程序--UA”进行,例如:Unix系统中的mail 命令,从自己的邮箱中“取出”邮件进行阅读、处理、转发、或回复邮件等操作。
电子邮件的投递过程 注意:邮件的“发送--传递--接收”是异步的, 邮件的发送时并不要求接收者“在场”— 正在使用邮件系统,邮件存放在用户的 邮箱中,接收者随时可以接收,比较灵 活。
邮局代理协(POP3) • 一般来说,用户需要使用系统提供的用户代理程序(如:Unix系统中的mail命令)登录到邮件服务器上,才能发送和接收邮件。 • POP3协议是一个简单的协议,它用于从远程邮件服务器上获取邮件,帮助用户登录到邮件服务器上、取邮件、删除邮件等。
邮局代理协(POP3) • POP3协议的工作过程
与邮件系统相关的概念 • 电子邮件系统与DNS的结合 • 在DNS中注册MX记录 • jamond.net. IN MX 5 shrike.jamond.net. jamond.net. IN MX 10 rh9.jamond.net. • 邮件中继 • 当邮件向目的地址传输时,一旦源地址和目的地址都不是本地邮件服务器,就会发生中继。 From dengyuchun@ccniit.com to dengyuchun@163.com
sendmail及其安装 • sendmail的主要功能 • 为邮件选择路由 • 传输SMTP邮件 • 接收SMTP邮件 • 使用邮件别名,从而允许使用邮件列表 • 错误检测以及速度和代价优化
sendmail及其安装 • 安装sendmail # rpm -qa|grep sasl cyrus-sasl-md5-2.1.10-4 cyrus-sasl-2.1.10-4 cyrus-sasl-plain-2.1.10-4 # rpm -ivh m4-1.4.1-13.i386.rpm # rpm -ivh sendmail-8.12.8-4.i386.rpm (cd1) # rpm -ivh sendmail-cf-8.12.8-4.i386.rpm (cd3) # rpm -ivh sendmail-doc-8.12.8-4.i386.rpm
配置带SMTP认证的sendmail • 修改sendmail.mc # vi /etc/mail/sendmail.mc //将下行中的127.0.0.1改为0.0.0.0 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl //将下两段中行首的dnl(相当于注释)去掉 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
配置带SMTP认证的sendmail • 生成cf文件 #cd /etc/mail # m4 sendmail.mc > sendmail.cf • 在文件/etc/mail/local-host-names中添加本地域 # vi /etc/mail/local-host-names shrike.jamond.net jamond.net • 重新启动sendmail # service sendmail restart • 查看sendmail进程状态 #service sendmail status
配置access数据库 使用sendmail的access数据库可以配置邮件中继、拒收邮件等。 sendmail的access数据库文件为/etc/mail/access.db。 /etc/mail/access.db是一个散列表数据库,它是由/etc/mail/access产生出来的。
配置access数据库 步骤 编辑/etc/mail/access 使用makemap命令生成/etc/mail/access.db # cd /etc/mail # makemap hash access.db <access 配置举例(参见教材操作步骤16.7)
安装和启动MAA Red Hat 9中的MAA Red Hat 9 提供了UW-IMAP包括POP和IMAP两种协议的程序。 Red Hat 9 的pop3服务和imap服务以Xinetd方式运行。 安装UW-IMAP # rpm -ivh imap-2001a-18.i386.rpm (cd2) 配置UW-IMAP //修改/etc/xinetd.d/ipop3文件,将其中的“disable=yes”改为“disable=no” # chkconfig ipop3 on //修改/etc/xinetd.d/imap文件,将其中的“disable=yes”改为“disable=no” # chkconfig imap on
安装和启动MAA 启动UW-IMAP # service xinetd restart 测试UW-IMAP # netstat -tl
建立电子邮件新帐号 在邮件服务器里新增一个用户即可 #redhat-config-users 注:为便于管理将此用户加入mail组
测试Email服务器 • 在客户机上使用邮件收发软件测试
练习 • 两机对连 • 配置服务器 2.1 安装配置带SMTP的Sendmail 2.2 安装access数据库 2.3 安装配置MAA 2.4 建立电子邮件新账号 • 在客户端收发邮件测试服务器配置