文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux服务器配置实例<11>---配置邮件服务器

linux服务器配置实例<11>---配置邮件服务器

时间:2009-03-23  来源:sjhf

配置邮件服务器

一.邮件系统的基本原理 1.简介:一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理将用户的信件传送至传输代理(如Outlook Express、FoxMail等)。邮件传输代理负责将邮件送到目标主机(如sendmail)。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱(如procmail)。 2.电子邮件系统的优点:可以在很短时间内把数据发送到目的地,发送和接收电子邮件的过程不会被中断,随时发送和接收电子邮件 3.电子邮件系统: 电子由件地址和电子邮箱 [email protected]发送方使用第二部分来选择目的地,接收方使用第一部分来选择指定邮箱 4.电子邮件格式: 信封和内容(报头,邮件格式所规定的必要的部分;报文分为信件内容和附件部分) MUA,Mail User Agent,将邮件发往Internet上的一个ISP,它具有撰写邮件、显示邮件、处理邮件的功能 MTA,Mail Transfer Agent,它负责邮件的存储和转发(store and Forward) 5.电子邮件系统的工作原理 我们来模拟一封邮件从发出到收到的过程。用户使用Outlook Express(用户代理或叫做邮件客户端)向Sendmail(传输代理)请求发送电子邮件的服务,将邮件交给Sendmail。Sendmail根据邮件的目的地址,将邮件发送给邮件接收服务器,邮件接收服务器将邮件缓存(这也是Sendmail的工作)。接收邮件的用户用Outlook Express向邮件接收服务器发出取信的请求,邮件接收服务器将邮件发送给用户(这是IMAP或POP服务的工作)。至此,一封邮件从发送者的机器到达接收者的机器。 我们要建立的邮件服务器,以Sendmail作邮件传输服务,IMAP作收信服务来构成邮件系统的基本框架。以Horde Imp作为邮件的Web客户端。剩下的就是Horde Imp的支持软件:以MySQL存储用户数据,以Apache+PHP作为Web服务器。我们还使用其它的模块来扩充本系统的功能:通讯录模块和修改密码模块。 二.与电子邮件相关的协议 1.SMTP:Simple Message Transfer Protocol由RFC821定义,SMTP主机规定基础的电子邮件提交系统怎么传递报文.当MUA与MTA建立连接并发送邮件和MTA之间使用SMTP进行电子邮件的转发时使用SMTP协议 SMTP的通信过程 2.多用途互联网邮件扩充MIME,Multipurpose Internet Mail Extension是IETF为发送二进制数据而发明的多种编码方案,它允许发送方和接收方选择方便的编码方法,发送方在头部包含一些附加行说明信息遵循MIME格式,以及在主体中增加一些附加行说明数据类型和编码;还允许发送方将信息分成几个部分,并对每个部分指定不同的编码方法,即在一个信息中既发送普通文本又附加(attach)一个图像,MIME自动解码附加的数据,为了透明的编码和解码,MIME在电子邮件头部增加两行:一行用来声明使用MIME生成信息,另一行说明MIME信息是如何包含在正文中的 MIME-Version: 1.0 Content-Type:Multipart/Mixed; Boundary=Mime_separator|Content-Type:text/plain 3.邮件接收客户访问邮件的方式 邮件接收者对邮件服务器的请求访问模式有离线、在线和断线3种模式 4.POP3协议要检测用户登录名和口令,然后将用户的邮件从服务器移动到用户本地桌面系统的MUA.它监听TCP的110端口,POP3在RFC1939中定义,它是请求-响应式协议 5.IMAP4:是POP的替代品,它了POP相同的基本功能之外,还增加了对邮箱同步的支持,即IMAP提供了如何远程维护服务器上的邮件箱的功能 三.sendmail简介 1.sendmail的功能 接收SMTP邮件、为邮件选择路由、传输SMTP邮件、使用别名,从而允许使用邮件列表、错误检测以及速度和代价优化 2.sendmail的结构和处理过程 3.安装sendmail和imap #rpm -qa|grep sendmail 插入第一张光盘 #mount /mnt/cdrom #cd/mnt/cdrom/RedHat/RPMS #rpm -ivh sendmail-8.12.8-4.i386.rpm安装sendmail服务软件 #rpm -ivh m4-1.4.1-13.i386.rpm用m4工具生成sendmail的配置文件 #cd;eject 插入第3张光盘 #mount /mnt/cdrom #cd /mnt/cdrom/RedHat/RPMS #rpm -ivh sendmail-cf-3.12.8-4.i386.rpm #rpm -ivh sendmail-doc-8.12.8-4.i386.rpm #cd;eject 4.启动sendmail mc LOCAL_DOMAIN('abc.com')dnl设置本地域 LOCAL_DOMAIN('localhost.localdomain')dnl DAEMON_OPTIONS('Port=smtp,Addr=192.168.1.57,Name=MTA')dnl 指定sendmail作为MTA运行时的参数,dnl删除尾部空格 #m4 sendmail.mc>sendmail.cf #vi /etc/mail/sendmail.cf C{w}abc.com设置类的值为abc.com C{w}localhost.localdomain O DaemonPortOptions=port=smtp,Addr=192.168.1.57,Name=MTA命令O用于为sendmail的选项赋值 O DaemonPortOptions=port=smtp,Addr=127.0.0.1,Name=MTA #service sendmail start 四.安装和启动imap 1.安装IMAP #rpm -qa|grep imap #mount /mnt/cdrom #cd /mnt/cdrom/RedHat/RPMS #rpm -ivh imap-2001a-18.i386.rpm #cd;eject 2.启动imap #vi /etc/xinetd.d/imap disable=no service xinetd restart 3.配置DNS的MX记录 IN MX 5 rhl9.abc.com rhl9 IN MX 10 rhl9.abc.com 4.收发邮件测试: #cat /etc/resolv.conf nameserver 192.168.88.57 #mail [email protected] Subject:test1 Thist is a test1 . Cc: #su - user1 $mail #mail -u user1 五.配置虚拟邮件用户数据库 #vi /etc/named.conf 配置虚拟域名字解析 #echo "abc.com">>/etc/mail/local-host-names vi /etc/mail/access abc.com        RELAY #cd /etc/mail #makemap hash access.db<access 生成/etc/mail/virtusertable.db #vi /etc/mail/virtusertable [email protected] user1 #cd /etc/mail #makemap hash virtusertable.db<virtusertable #service sendmail restart 测试 #mail [email protected] #mail -u user1 例:1.使用access数据库 smtp协议是不需要身份验证的,access数据库可以限制基于主机的访问控制 <地址><操作> 格式       举例       说明 domain abc.com *.abc.com,即域内所有主机 ip address 192.168.12,192.168.11.11    网段内的所有主机及特定的主机 username@domain    [email protected]  一个特定的邮件地址 username@  user1@  用户名为user1的邮件 操作: 格式       说明 OK  无条件接受或发送 RELAY   允许SMTP代理投递 REJECT 拒绝授受并发布错误信息 DISCARD      丢弃邮件,无错误信息发布 #vi /etc/mail/access 192.168.2.108 REJECT user1@ 测试: 在192.168.2.108计算机发送邮件测试 mail from:[email protected] rcpt to:[email protected] 例2:使用aliase数据库 #vi /etc/aliases aliases:recipient zhangsan:user1 #newaliases命令生成aliases.db rcpt to:zhangsan.abc.com 例3:转发邮件 abc:[email protected] 例4:伪造电子邮件 #telnet set local_echo open 192.168.2.168 25 mail from:[email protected] rcpt to:[email protected] data subject:this is fake!欺骗 <cr> <cr> enter message . Quit
相关阅读 更多 +
排行榜 更多 +
星so

星so

浏览阅读 下载
纸上战争

纸上战争

策略塔防 下载
水滑梯

水滑梯

休闲益智 下载