SMTP简单邮件传输协议.docx

上传人:牧羊曲112 文档编号:4924914 上传时间:2023-05-23 格式:DOCX 页数:13 大小:123.35KB
返回 下载 相关 举报
SMTP简单邮件传输协议.docx_第1页
第1页 / 共13页
SMTP简单邮件传输协议.docx_第2页
第2页 / 共13页
SMTP简单邮件传输协议.docx_第3页
第3页 / 共13页
SMTP简单邮件传输协议.docx_第4页
第4页 / 共13页
SMTP简单邮件传输协议.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SMTP简单邮件传输协议.docx》由会员分享,可在线阅读,更多相关《SMTP简单邮件传输协议.docx(13页珍藏版)》请在三一办公上搜索。

1、SMTP (Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由 源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于 TCP / IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通 过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个 过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送 或中转发出的电子邮件。目录详细简介协议原理个人SMTP服务器的配置方法工作过程安全和垃圾邮件服务扩展通讯模型通信安全详细简介协议原理个人SMTP服务器的配置方法工作过程安全和垃圾

2、邮件服务扩展通讯模型通信安全展开编辑本段详细简介SMTP是一种提供可靠且有效电子邮件传输的协议。SMTP是建模在FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供 来信有关的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP重要特性之一是其能跨越 网络传输邮件,即“ SMTP邮件中继”。通常,SMTP一个网络可以由公用互联网上TCP可相互访问的主机、防火墙分隔的 TCP/IP网络上TCP可相互访问的主机,及其它LAN/WAN中的主机利用非 TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传 输,也可通过中继器或 安实现某

3、处理机与其它网络之间的邮件传输。在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别 出传输邮件的下一跳IP地址。在传输文件过程中使用25号端口编辑本段协议原理SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件 传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMTP协 议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向 163发送邮件为实例进行说明。在 linux 环境下,使用telnet smtp.163. com 25连接 sm

4、tp.163. com 的25号端口 (SMTP的标准服务端口);在windows下使用telnet程序,远程 主机指定为smtp.163. com,而端口号指定为25,然后连接smtp.163. com : 交互过程如下:SMTPlixnslix$telnet smtp.163. com 25220 163 .com Anti-spam GT for Coremail System (163com071018)HELO smtp.163 .com250 OKauth login334 dXNlcm5hbWU6USER base64加密后的用户名334 UGFzc3dvcmQ6PASS bas

5、e64加密后的密码235 Authentication successfulMAILFROM:XXX163 .COM250 Mail OKRCPTTO:XXX163 .COM250 Mail OKDATA354 End data with .QUITSMTP250 Mail OK queued as smtp5,D9GowLArizfIFTpIxFX8AA=.41385S2 1211766217HELO是客户向对方邮件服务器发出的标识自己的身份的命令,这里假设 发送者为ideal; MAILFROM命令用来表示发送者的邮件地址;RCPTTO:标识 接收者的邮件地址,这里表示希望发送邮件给XXX

6、163. COM,如果邮件接收 者不是本地用户,例如RCPTTO:ideal,则说明希望对方邮件服务器为自己转 发(Relay)邮件,若该机器允许转发这样的邮件,则表示该邮件服务器是 OPENRELAY的,否则说明该服务器不允许RELAY ; DATA表示下面是邮件的数 据部分,输入完毕以后,以一个.开始的行作为数据部分的结束标识;QUIT 表示退出这次会话,结束邮件发送。这就是一个简单的发送邮件的会话过程,其实当使用outlookexpress等 客户软件发送时,后台进行的交互也是这样的,当然,SMTP协议为了处理复 杂的邮件发送情况如附件等等,定义了很多的命令及规定,具体可以通过阅 读RF

7、C821来获得。当你的一个朋友向你发送邮件时,他的邮件服务器和你的邮件服务器通 过SSMTPMTP协议通信,将邮件传递给你邮件地址所指示的邮件服务器上(这里假设 你的本地邮件服务器是Linux系统),若你通过telnet协议直接登录到邮件 服务器上,则可以使用mail等客户软件直接阅读邮件,但是若你希望使用本 地的MUA (MailUserAgent,如outlookexpress等客户软件)来阅读邮件,贝U 本地客户端通过POP3或IMAP协议与邮件服务器交地,将邮件信息传递到客 户端(如:win98系统)。而如果你向你的朋友回复一封信件时,你所使用的 MUA也是通过SMTP协议与邮件服务(

8、一般为发送邮件地址对应的email地址) 器通信,指示其希望邮件服务器帮助转发一封邮件到你朋友的邮件地址指定 的邮件服务器中。若本地邮件服务器允许你通过它转发邮件,则服务器通过 SMTP协议发送邮件到对方的邮件服务器。这就是接受和发送邮件的全部过程。编辑本段个人SMTP服务器的配置方法安装POP3和SMTP服务组件Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的, 因此我们要手工添加。1. 安装POP3服务组件以系统管理员身份登录Windows Server 2003系统。依次进入“控制面 板一添加或删除程序一添加/删除Windows组件”,在弹出的“Wi

9、ndows组件 向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以 看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户 远程Web方式管理邮件服务器,建议选中“POP 3服务Web管理”。2. 安装SMTP服务组件选中“应用程序服务器”选项,点击“详细信息”按钮,接着在 “Internet信息服务(IIS) ”选项中查看详细信息,选中“SMTP Service” 选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程 Web管理,一定要选中“万维网服务”中的“远程管理(HTML ) ”组件。完 成以上设置后,点击“下一步”按钮,系统就开始安装

10、配置POP3和SMTP服务了。配置POP3服务器1. 创建邮件域点击“开始一管理工具一POP3服务”,弹出POP3服务控制台窗口。选 中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域”对话框, 接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“伊后面的部 分,2. 创建用户邮箱选中刚才新建的,在右栏中点击“添加邮箱”,弹出添加邮箱对话框, 在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定” 按钮,完成邮箱的创建。2完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开 始一程序一管理工具一Internet信息服务(IIS)管理器”,在“IIS管理器

11、” 窗口中右键点击“默认SMTP虚拟服务器”选项,在弹出的菜单中选中“属 性”,进入“默认SM TP虚拟服务器”窗口,切换到“常规”标签页,在“IP 地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,此 时SMTP服务器默认的是匿名访问,打开切换到“访问”标签页,点击“身份 验证”按钮,在对话框中去掉“匿名访问“选项,选中”基本身份验证(Basic authentication ) “。这样一个简单的邮件服务器就架设完成了。编辑本段工作过程简单邮件传输协议(SMTP )是一种基于文本的电子邮件传输协议,是在 因特网中用于在邮件服务器之间交换邮件的协议。SMTP是应用层的服务,可

12、 以适应于各种网络系统。SMTP的命令和响应都是基于文本,以命令行为单位,换行符为 CR/LF。 响应信息一般只有一行,由一个3位数的代码开始,后面可附上很简短的文 字说明。SMTPSMTP要经过建立连接、传送邮件和释放连接3个阶段。具体为:(1)建立TCP连接。(2 )客户端向服务器发送HELLO命令以标识发件人自己的身份,然后客 户端发送MAIL命令。(3)服务器端以OK作为响应,表示准备接收。(4)客户端发送RCPT命令。(5)服务器端表示是否愿意为收件人接收邮件。(6)协商结束,发送邮件,用命令DATA发送输入内容。(7)结束此次发送,用QUIT命令退出。SMTP服务器基于DNS中的邮

13、件交换(MX)记录路由电子邮件。电子邮件 系统发邮件时是根据收信人的地址后缀来定位邮件服务器的。SMTP通过用户 代理程序(UA)完成邮件的编辑、收取和阅读等功能;通过邮件传输代理程 序(MTA)将邮件传送到目的地。编辑本段安全和垃圾邮件最初的SMTP的局限之一在于它没有对发送方进行身份验证的机制。因 此,后来定义了 SMTP-AUTH扩展。尽管有了身份认证机制,垃圾邮件仍然是一个主要的问题。但由于庞大 的SMTP安装数量带来的网络效应,大刀阔斧地修改或完全替代SMTP被认为 是不现实的。Internet Mail 2000就是一个替代SMTP的建议方案。因此,出现了一些同SMTP工作的辅助协

14、议。IRTF的反垃圾邮件研究小 组正在研究一些建议方案,以提供简单、灵活、轻量级的、可升级的源端认 证。最有可能被接受的建议方案是发送方策略框架协议。SMTP模型smtp提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时, 可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个 中间服务器转发。smtp首先由发件方提出申请,要求与接收方smtp建立双 向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件 方服务器确认可以建立连接后,双发就可以开始通信。发件方smtp向收件方发处mail命令,告知发件方的身份;如果收件方 接受,就会回答ok。发件方再发出rcpt

15、命令,告知收件人的身份,收件方 smtp确认是否接收或转发,如果同意就回答ok;接下来就可以进行数据传输 了。通信过程中,发件方smtp与收件方smtp采用对话式的交互方式,发件 方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发 件方控制,有时需要确认几回才可以。为了保证回复命令的有效,smtp要求发件方必须提供接收方的服务器及 邮箱。邮件的命令和答复有严格的语法定义,并且回复具有相应的数字代码。 所有的命令由ascii码组成。命令代码是大小写无关的,如mail和mail、 mail是等效的。编辑本段服务扩展SMTP提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十几

16、年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。对SMTP 服务的扩展我们介绍一下:在SMTP转发的邮件中包括信封和内容这两种东 西。我们写信也写信封和信皮,我们可以借生活中的信件来帮助理解。(1)SMTP信封比较容易理解,它被作为一系列的SMTP协议单元传送,它 包括发送者地址,传送模式,还有一个或多个接收者地址。如果有不清楚的 地方,请参阅SMTP协议标准。SMTP(2)至于内容,它是由两部分组成的,一部分是信头,一部分是信体,信头是 由一个个的域/值对(一个域,一个值)组成的,如果信体有结构的话,它的 结构是以MIME构造的。内容从根本上来说是文本的,一般也是由ASCII码

17、构 成的,但是由于使用了 MIME,所以这个限制应该也是没有了,但信头却不行, 一般都应该使用ASCII码表示。虽然SMTP协议是一个不错的协议,可是对它 的扩展还是不可避免,本文主要说明了一种扩展方法,使用这种扩展方法, 服务器和用户之间可以相互知道对方使用了扩展,使用了多少,如果进行通 信。编辑本段通讯模型SMTP协议是TCP/IP协议族中的一员,主要对如何将电子邮件从发送方 地址传送到接收方地址,也即是对传输的规则做了规定。SMTP协议的通信模 型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出 的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,这

18、里 的接收SMTP是相对于发送SMTP而言的,实际上它既可以是最终的接收者也 可以是中间传送者。发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP 则负责接收并反馈应答。SMTP协议的命令和应答从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会 话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答来完成的。在通讯链路 建立后,发送SMTP发送MAIL命令指令邮件发送者,若接收SMTP此时可以接 收邮件则作出OK的应答,然后发送SMTP继续发出RCPT命令以确认邮件是否 收到,如果接收到就作出OK的应答,否则就发出拒绝接收应答,但这并不会 对整个邮件操作造成

19、影响。双方如此反复多次,直至邮件处理完毕。SMTP协 议共包含10个SMTP命令,列表如下:SMTP命令命令说明HELLO Vdomain V CRLF 识别发送方到接收SMTP的一个HELLO命令MAILFROM: Vreverse-path VCRLFVreverse-path 为发送者地址。 此命令告诉接收方一个新邮件发送的开始,并对所有的状态和 缓冲区进行初 始化。此命令开始一个邮件传输处理,最终完成将邮件数据传送到一个或多 个邮箱中。一RCPTTO: V forward-path V CRLF V forward-path 标识各个邮件接 收者的地址DATA V CRLF接收SMTP

20、将把其后的行为看作邮件数据去处理,以V CRLF. VCRLF 标识数据的结尾。REST V CRLF 退出/复位当前的邮件传输NOOP VCRLF要求接收SMTP仅做OK应答。(用于测试)QUIT VCRLF要求接收SMTP返回一个OK应答并关闭传输。VRFY V string V CRLF 验证指定的邮箱是否存在,由于安全因素,服 务器多禁止此命令。EXPN V string V CRLF 验证给定的邮箱列表是否存在,扩充邮箱列表, 也常禁止使用。HELP V CRLF 查询服务器支持什么命令编辑本段通信安全sendmail是在Unix环境下使用最广泛的实现邮件发送/接受的邮件传输 代理程

21、序。由于Sendmail邮件服务器的特点是功能强大而复杂,因此为保证 Sendmail的安全性,需要作以下一些工作。1、设置 Sendmail 使用smrshsmrsh程序的目的是作为在mailer中为sendmail定义的/bin/sh的替 代shell。smrsh是一种受限shell工具,它通过/etc/smrsh |目录来明确指定可执行文件的列表。简而言之smrsh限制了 攻击者可以执行的程序集。当它与sendmail程序一起使用的时候,smrsh有 效的将sendmail可以执行的程序的范围限制在smrsh目录之下。第一步:决定smrsh可以允许sendmail运行的命令列表。缺省情况

22、下应当包含以 下命令,但不局限于这些命令:/bin/mail(如果在你的系统中安装了的话)/usr/bin/procmail(如果在你的系统中安装了的话)注意:不可在命令列表里包括命令解释程序,例如sh(1),csh(1),perl(1),uudecode(1)及流编辑器 sed(1)。第二步:在/etc/smrsh目录中创建允许sendmail运行的程序的符号连接。使用以下命令允许mail程序/bin/mail运行:rootdeep#cd/etc/smrshrootdeep#ln-s/bin/mailmail用以下命令允许procmail程序/usr/bin/procmail运行:rootd

23、eep#cd/etc/smrshrootdeep#ln-s/usr/bin/procmailprocmail这将允许位于.forward和aliases中的用户采用program语法来 运彳亍mail 及procmail 程序。第三步配置sendmail使之使用受限shell。mailer程序在sendmail的配置文 件/etc/sendmail .cf中仅有一行。必须修改sendmail. cf文件中Mprog 定义的那一行。将/bin/sh替换为/usr/sbin/smrsh。编辑”sendmail .cf 文件(vi/etc/sendmail. cf )并改动下面这一行: 例如:Mpr

24、og,P=/bin/sh,F=lsDFMoqeu9,S=10/30,R=20/40,D=$z:/,T=X-Unix,A=sh- c$u应该被改为:Mprog,P=/usr/sbin/smrsh,F=lsDFMoqeu9,S=10/30,R=20/40,D=$z:/,T=X-Un ix,A=sh-c$u现在用以下命令手工重起sendmail进程:rootdeep#/etc/rc.d/init.d/sendmailrestart2、/etc/aliases文件如果没有加以正确和严格的管理的话,别名文件被用来获取特权。例如, 很多发行版本在别名文件中带有decode别名。现在这种情况越来越少了。这样

25、做的目的是为用户提供一个通过mail传输二进制文件的方便的方 式。在邮件的发送地,用户把二进制文件用uuencode转换成ASCII格式, 并把结果邮递给接收地decode别名。那个别名通过管道把邮件消息发送到 /usr/bin/uuencode程序,由这个程序来完成从ASCII转回到原始的二进制 文件的工作。删除decode”别名。类似的,对于所有用于执行没有被放在smrsh目录 下的程序的别名,你都要仔细的检查,可能它们都值得怀疑并应当删除它们。 要想使你的改变生效,需要运行:rootdeep#/usr/bin/newaliases编辑别名文件(vi/etc/aliases)并删除以下各行

26、:#Basicsystemaliases-theseMUSTbepresent.MAILER-DAEMON:postmasterpostmaster:root#Generalredirectionsforpseudoaccounts.bin:rootdaemon:rootgames:root?删除这一行ingres:root?删除这一行nobody:rootsystem:root?删除这一行toor:root?删除这一行uucp:root?删除这一行#Well-knownaliases.manager:root?删除这一行dumper:root?删除这一行operator:root?删除这一行

27、#trapdecodetocatchsecurityattacksdecode:root?删除这一行#Personwhoshouldgetrootsmail#root:marc最后应该运行/usr/bin/newaliases程序使改动生效3、避免你的Sendmail被未授权的用户滥用最新版本的Sendmail(8.9.3)加入了很强的防止欺骗的特性。它们可以 防止你的邮件服务器被未授权的用户滥用。编辑你的/etc/sendmail.c f 文件,修改一下这个配置文件,使你的邮件服务器能够挡住欺骗邮件。编辑sendmail.c f文件(vi/etc/sendmail. cf)并更改下面一行:O

28、PrivacyOptions二authwarnings改为:OPrivacyOptions二authwarnings,noexpn,novrfy设置noexpn使sendmail禁止所有SMTP的EXPN命令,它也使sendmail 拒绝所有SMTP的VERB命令。设置novrfy使sendmail禁止所有SMTP的 VRFY命令。这种更改可以防止欺骗者使用EXPN和VRFY命令,而这些命 令恰恰被那些不守规矩的人所滥用。4、SMTP的问候信息当sendmail接受一个SMTP连接的时候,它会向那台机器发送一个问候 信息,这些信息作为本台主机的标识,而且它所做的第一件事就是告诉对方 它已经准备

29、好了。编辑sendmail. cf文件(vi/etc/sendmail. cf)并更改下面一行:OSmtpGreetingMessage=$jSendmail$v/$Z;$b改为:OSmtpGreetingMessage=$jSendmail$v/$Z;$bNOUCEC=xxL=xx现在手工重起一下sendmail进程,使刚才所做的更改生效:rootdeep#/etc/rc.d/init.d/sendmailrestart以上的更改将影响到Sendmail在接收一个连接时所显示的标志信息。你 应该把C=xxL=xx条目中的xx换成你所在的国家和地区代码。后面的更改 其实不会影响任何东西。但这是

30、-abuse.email新闻组的伙 伴们推荐的合法做法。5、限制可以审核邮件队列内容的人员通常情况下,任何人都可以使用mailq命令来查看邮件队列的内容。为 了限制可以审核邮件队列内容的人员,只需要在/etc/sendmail .cf文件中 指定restrictmailq选项即可。在这种情况下,sendmail只允许与这个队 列所在目录的组属主相同的用户可以查看它的内容。这将允许权限为0700的 邮件队列目录被完全保护起来,而我们限定的合法用户仍然可以看到它的内 容。编辑sendmail. cf文件(vi/etc/sendmail. cf)并更改下面一行:OPrivacyOptions二aut

31、hwarnings,noexpn,novrfy改为:OPrivacyOptions二authwarnings,noexpn,novrfy,restrictmailq现在我们更改邮件队列目录的权限使它被完全保护起来:rootdeep#chmod0700/var/spool/mqueue注意:我们已经在sendmail.c f中的PrivacyOptions=彳亍中添加了 noexpn和novrfy选项,现在在这一行中我们接着添加restrictmailq 选项。任何一个没有特权的用户如果试图查看邮件队列的内容会收到下面的信 息:userdeep$/usr/bin/mailqYouarenotpe

32、rmittedtoseethequeueSMTP6、限制处理邮件队列的权限为root通常,任何人都可以使用-q开关来处理邮件队列,为限制只允许root 处理邮件队列,需要在/etc/sendma il. cf文件中指定restrictqrun。编辑sendmail. cf文件(vi/etc/sendmail. cf)并更改下面一行:OPrivacyOptions二authwarnings,noexpn,novrfy,restrictmailq改为:OPrivacyOptions二authwarnings,noexpn,novrfy,restrictmailq,restrictq run任何一个

33、没有特权的用户如果试图处理邮件队列的内容会收到下面的信 息:userdeep$/usr/sbin/sendmail-qYoudonothavepermissiontoprocessthequeue7、在重要的sendmail文件上设置不可更改位可以通过使用chattr命令而使重要的Sendmail文件不会被擅自更改, 可以提高系统的安全性。具有+i属性的文件不能被修改:它不能被删除和 改名,不能创建到这个文件的链接,不能向这个文件写入数据。只有超级用 户才能设置和清除这个属性。为sendmail. cf文件设置不可更改位:rootdeep#chattr+i/etc/sendmail. cf为s

34、endmail.cw文件设置不可更改位:rootdeep#chattr+i/etc/sendmail.cw为sendmail. mc文件设置不可更改位:rootdeep#chattr+i/etc/sendmail. mc为null. mc文件设置不可更改位:rootdeep#chattr+i/etc/null. mc为aliases文件设置不可更改位:rootdeep#chattr+i/etc/aliases为access文件设置不可更改位:rootdeep#chattr+i/etc/mail/accessqmail安全qmail有一个名为rcpthosts(该文件名源于RCPTTO命令)的配

35、置文件, 其决定了是否接受一个邮件。只有当一个RCPTTO命令中的接收者地址的域名 存在于rcpthosts文件中时,才接受该邮件,否则就拒绝该邮件。若该文件不 存在,则所有的邮件将被接受。当一个邮件服务器不管邮件接收者和邮件接 收者是谁,而是对所有邮件进行转发(relay),则该邮件服务器就被称为开放 转发(openrelay)的。当qmail服务器没有rcpthosts时,其是开放转发的。设置自己服务器为非openrelay的最简单的办法就是将你的邮件服务器 的所有域名(若DNS的MX记录指向该机器,也应该包括该域名。但是这将导致你的本地客户也被拒绝使用你的服务器转发邮件,而要支持客户使用

36、MUA来发送邮件,必须允许客户使用服务器转发邮件。qmail-smtpd支持一种有 选择性的忽略rcpthosts文件的方法:若qmail-smtpd的环境变量 RELAYCLIENT被设置,则rcpthost文件将被忽略,relay将被允许。但是如 何识别一个邮件发送者是否是自己的客户呢? qmail并没有采用密码认证的 方法,而是判断发送邮件者的源IP地址,若该IP地址属于本地网络,则认 为该发送者为自己的客户。这里就要使用ucspi-tcp软件包。在这里我们要使用该软件包的 tcpserver程序。该程序的功能类似于inetd-监听进入的连接请求,为要启 动的服务设置各种环境变量,然后启

37、动指定的服务。tcpserver的配置文件是/etc/tcp.smtp,该文件定义了是否对某个网络 设置RELAYCLIENT环境变量。例如,本地网络是地址为192.168.10.0/24的 C类地址,则tcp.smtp的内容应该设置如下:127.0.0.1 :allow,RELAYCLIENT=192.168.10.:allow,RELAYCLIENT=:allow这几个规则的含义是指若连接来自127.0.0.1和192.168.10则允许,并 且为其设置环境变量RELAYCLIENT,否则允许其他连接,但是不设置 RELAYCLIENT环境变量。这样当从其他地方到本地的25号连接将会被允许

38、, 但是由于没有被设置环境变量,所以其连接将会被qmail-smptd所拒绝。但是tcopserver并不直接使用/etc/tcp.smtp文件,而是需要先将该文 件转化为cbd文件:lixmail/etc$#tcprulestcp.smtp.cdbtcp.smtp.temptcp.smtp 然后再回头看在/service/qmail-smtpd目录下的run文件中有 /usr/local/bin/tcpserver-v-p-x/etc/tcp.smtp.cdb可以看到,tcpserver利用了/etc/smtp.cbd文件。若本地有多个网络, 则需要这些网络都出现在/etc/tcp.smtp文件中。这样就实现了允许本地客户relay邮件,而防止relay被滥用。参考资料.1详解个人SMTP服务器的配置方法hLLp./L*2轻松架设自己的SMTP服务器TTpT/hbaTducuffl/nc_na/bugTTem/sb2ea8597b337fld89c8?04c7hfflT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号