whlbxtl 6666是什么意思思?

SMTP _百度百科
特色百科用户权威合作手机百科 收藏 查看&SMTP
SMTPSimple Mail Transfer Protocol即,它是一组用于由源地址到目的地址传送的规则由它来控制信件的中转方式属于它帮助每台在发送或中转信件时找到下一个目的地通过SMTP协议所指定的,就可以把E-mail寄到收信人的服务器上了整个过程只要几分钟SMTP则是遵循SMTP协议的发送用来发送或中转发出的它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器跟大多数应用层协议一样SMTP也存在两个 端在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端SMTP的客户端和服务器端同时运行在每个邮件服务器上当一个邮件服 务器在向其他邮件服务器发送邮件消息时它是作为SMTP客户在运行SMTP协议与人们用于面对面交互的礼仪之间有许多相似之处首先运行在发送端邮件服务器主机上的SMTP客户发起建立一个到运行在接收端邮件服务 器主机上的SMTP服务器端口号25之间的TCP连接如果接收邮件服务器当前不在工作SMTP客户就等待一段时间后再尝试建立该连接SMTP客户和服务器先执行一些应用层握手操作就像人们在转手东西之前往往先自我介绍那样SMTP客户和服务器也在传送信息之前先自我介绍一下 在这个SMTP握手阶段SMTP客户向服务器分别指出发信人和收信人的电子邮件地址彼此自我介绍完毕之后客户发出邮件消息外文名Simple Mail Transfer Protocol作&&&&用传输系统之间的邮件信息
SMTP 是一种TCP协议支持的提供可靠且有效传输的协议SMTP 是在 TCP上的一种邮件服务主要用于传输系统之间的邮件信息并提供来信有关的通知
SMTP 独立于特定的传输子系统且只需要可靠有序的信道支持SMTP 重要特性之一是其能跨越邮件即 SMTP 邮件中继通常一个网络可以由公用上 TCP 可相互访问的防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机及其它 LAN/WAN 中的主机利用非 TCP协议组成使用 SMTP 可实现相同网络上之间的邮件传输也可通过或实现某处理机与其它网络之间的邮件传输在这种方式下邮件的发送可能经过从发送端到接收端路径上的大量中间或系统DNS的邮件交换可以用来识别出传输邮件的下一条 IP 地址SMTP-SimpleMailTransferProtocol是定义邮件传输最常用的协议它是基于TCP服务的协议由RFC2821所定义SMTP协议规定的命令是以明文方式进行的为了说明SMTP的工作原理我们以向163发送邮件为实例进行说明
在linux环境下使用&telnet smtp.163. com 25&连接smtp.163. com的25号SMTP的标准服务端口在windows下使用程序远程指定为smtp.163. com而指定为25然后连接smtp.163. com过程如下
  SMTP[lix@nslix]$telnet smtp.163. com 25
220 163 .com Anti-spam GT for Coremail System (163com[071018])
HELO smtp.163 .com
auth login
334 dXNlcm5hbWU6
USER加密后的用户名
334 UGFzc3dvcmQ6
PASS加密后的密码
235 Authentication successful
MAILFROM:XXX@163 .COM
250 Mail OK
RCPTTO:XXX@163 .COM
250 Mail OK
354 End data with .
QUITSMTP250 Mail OK
queued as smtp5,D9GowLArizfIFTpIxFX8AA==.41385S2
HELO是客户向对方发出的标识自己的身份的命令这里假设发送者为idealMAILFROM命令用来表示发送者的邮件地址RCPTTO标识接收者的邮件地址这里表示希望发送邮件给XXX@163. COM如果邮件接收者不是例如RCPTTO:ideal则说明希望对方邮件服务器为自己转发Relay邮件若该机器允许转发这样的邮件则表示该邮件服务器是OPENRELAY的否则说明该服务器不允许RELAYDATA表示下面是邮件的数据部分输入完毕以后以一个&.&开始的行作为数据部分的结束标识QUIT表示退出这次会话结束邮件发送
这就是一个简单的发送邮件的会话过程其实当使用outlookexpress等客户软件发送时后台进行的也是这样的当然为了处理复杂的邮件发送情况如附件等等定义了很多的命令及规定具体可以通过阅读RFC2821来获得
当你的一个朋友向你发送邮件时他的和你的邮件服务器通过SSMTPMTP协议通信将邮件传递给你邮件地址所指示的邮件服务器上这里假设你的本地邮件服务器是Linux系统若你通过协议直接登录到邮件服务器上则可以使用mail等客户软件直接阅读邮件但是若你希望使用本地的(MailUserAgent如outlookexpress等客户软件)来阅读邮件则本地客户端通过或IMAP协议与邮件服务器将邮件信息传递到客户端如win98系统而如果你向你的朋友回复一封信件时你所使用的MUA也是通过SMTP协议与邮件服务一般为发送邮件地址对应的email地址器通信指示其希望帮助转发一封邮件到你朋友的邮件地址指定的邮件服务器中若本地允许你通过它转发邮件则服务器通过SMTP协议发送邮件到对方的邮件服务器这就是接受和发送邮件的全部过程安装POP3和SMTP
默认情况下是没有安装和SMTP服务组件的因此我们要手工添加
1.安装组件
以身份登录Windows Server 2003 系统依次进入→→添加/删除Windows组件在弹出的Windows组件向导对话框中选中选项点击详细信息按钮可以看到该选项包括两部分内容POP3服务和POP3服务Web管理为方便用户远程Web方式管理建议选中POP 3服务Web管理
2.安装SMTP服务组件
选中应用程序选项点击详细信息按钮接着在Internet信息服务IIS选项中查看详细信息选中SMTP Service选项最后点击确定按钮此外如果用户需要对进行远程Web管理一定要选中万维网服务中的远程管理HTML组件完成以上设置后点击下一步按钮系统就开始安装配置POP3和SMTP服务了
配置POP3服务器
1.创建邮件域
点击开始→管理工具→POP3服务弹出POP3服务控制台窗口选中左栏中的POP3服务后点击右栏中的新域弹出添加域对话框接着在域名栏中输入的域名也就是邮件地址@后面的部分
2.创建用户邮箱
选中刚才新建的在右栏中点击添加邮箱弹出添加邮箱对话框在邮箱名栏中输入邮件用户名然后设置用户密码最后点击确定按钮完成邮箱的创建
完成POP3的配置后就可开始配置SMTP服务器了点击开始→程序→管理工具→Internet信息服务IIS管理器在IIS管理器窗口中右键点击默认SMTP选项在弹出的菜单中选中属性进入默认SM TP虚拟服务器窗口切换到常规标签页在IP地址下拉列表框中选中的IP地址即可点击确定按钮此时SMTP默认的是匿名访问打开切换到访问标签页点击按钮在对话框中去掉匿名访问选项选中基本身份验证Basic authentication这样一个简单的就架设完成了SMTP通常有两种发送SMTP和接收SMTP具体工作方式为发送SMTP在接到用户的邮件请求后判断此邮件是否为本地邮件若是直接投送到用户的邮箱否则向dns查询远端的MX纪录并与远端接收SMTP之间的一个双向传送通道此后SMTP命令由发送SMTP发出由接收SMTP接收而应答则反方面传送一旦传送通道SMTP发送者发送MAIL命令指明邮件发送者如果SMTP接收者可以接收邮件则返回OK应答SMTP发送者再发出RCPT命令确认邮件是否接收到如果SMTP接收者接收则返回OK应答如果不能接收到则发出拒绝接收应答但不中止整个邮件操作双方将如此重复多次当接收者收到全部邮件后会接收到特别的序列如果接收者成功处理了邮件则返回OK应答即可简单邮件SMTP是一种基于的传输协议是在中用于在之间交换邮件的协议SMTP是的服务可以适应于各种网络系统
SMTP的命令和响应都是基于以命令行为单位换行符为CR/LF响应信息一般只有一行由一个3位数的开始后面可附上很简短的文字说明SMTPSMTP要经过连接传送邮件和释放连接3个阶段具体为
2客户端向发送HELO命令以标识发件人自己的身份然后客户端发送MAIL命令
3端以OK作为响应表示准备接收
4客户端发送RCPT命令
5端表示是否愿意为收件人接收邮件
6协商结束发送邮件用命令DATA发送输入内容
7结束此次发送用QUIT命令退出
SMTP基于DNS中的邮件交换MX记录发邮件时是根据收信人的地址后缀来定位的SMTP通过程序UA完成的编辑收取和阅读等功能通过邮件传输代理程序MTA将邮件传送到目的地1.本备忘录的状态
本备忘录讲述了一种基于CCITT的X.25标准提供的虚电路业务的SMTP标准
本备忘录的发布不受任何限制
在RFC821&SIMPLEMAILTRANSPORTPROTOCOL&SMTP
的附录D中提到了直接将SMTP置于X.25虚电路ISO第3层上的可能性并建议利
用一种类似于TCP可靠的端到端协议在X.25的连接上在1981年时考虑到PSDNs的
总体的可靠性这毫无疑问是可行的这一业务现在1989年已经非常可靠它允许直
接将其置于虚电路业务上
在包括22个不同的国家的24个PSDN网的许多产品证明了这种方法是成功的结
果证明即使使用在一些花费比较昂贵的PSDN中这种方法还是十分经济的在X.25专
网和X.25局域网中这种方法也是成功
每一个SMTP会话必须打开一条X.25虚电路VirtualCircuitVCSMTP会话将
使用由VC提供的全双工通道通常VC是由发起呼叫的一方关闭的
3.协议ID和呼叫用户数据
呼叫用户数据区的前4个字节应该是0xC0F7,0000十六进制十进制是
这个字段通常用来标识一个协议ID或者PRID
但是在实际的操作中应该有能力在基本前缀地址上配置呼叫用户数据包括协议ID
在发送端通常把SMTP数据分成许多相应地在数据包的时候应该置M
位表示有后续数据包数据包的总长度可以达到2048个字节
通常我们建议SMTP命令和响应应在一个数据包发送出去或者只有一个后续数据包
只要对调试协议方便即可但这并不要求是必须的
5.识别数据
Q比特被置位的分组和中断分组是没有用的如果收到了应该被忽略掉
6.电路复位
如果收到了一个3层的电路复位指示这条VC应该清除SMTP连接应该重新
重新会带来一些时延也可能是不同的呼叫业务
7.呼叫业务
任何被X.25呼叫请求业务选择的协商特征都可以使用使用时应有能力为每一个被叫
地址指定业务
X.25使用的是完整的8位ASCII码没有任何遗漏和修改一行应该以CRLF
十进制1310结尾也可以仅仅以LF十进制10来标识一行的结束
9.关闭连接
跟TCP协议不同在清除请求的过程中X.25不提供数据的同步传送当清除虚电
路时就丢弃所有正在传送的数据包因此当收到服务关闭消息时主叫的一边关闭
SMTP会话层在X.25上这种消息要么是QUIT命令的响应或者是因为服务必须中止
10.超时SMTPSMTP通常不提供超时会话在X.25以下几项是有效的
10.1呼叫请求
如果在100秒内没有收到呼叫接受信息或者在120秒另外内没有收到服
务准备好信息那么应该清除这次呼叫然后重试
10.2已经的呼叫
当协议会话之后在10分钟内如果没有收到任何响应那么就应该清除这条虚
执行QUIT命令后超时时间缩短为20秒这可能会导致不经意地退出但它不会影
响已经完成的SMTP业务
当X.25清除请求发出时这条虚电路将在X.25协议指定的时间内超时
11.其他特性
X.25的其他特性如永久虚电路和D比特的选择都没有用到最初的SMTP的局限之一在于它没有对发送方进行的机制因此后来定义了SMTP-AUTH扩展
尽管有了机制仍然是一个主要的问题但由于庞大的SMTP安装数量带来的大刀阔斧地修改或完全替代SMTP被认为是不现实的Internet Mail 2000就是一个替代SMTP的建议方案
因此出现了一些同SMTP工作的辅助协议IRTF的研究小组正在研究一些建议方案以提供简单灵活轻量级的可升级的源端认证最有可能被接受的建议方案是发送方策略框架协议
smtp提供了一种传输的机制当收件方和发件方都在一个网络上时可以把邮件直传给对方当双方不在同一个网络上时需要通过一个或几个中间转发smtp首先由发件方提出申请要求与接收方smtp双向的通信渠道收件方可以是最终收件人也可以是中间转发的收件方确认可以连接后双发就可以开始通信
发件方smtp向收件方发处mail命令告知发件方的身份如果收件方接受就会回答ok发件方再发出rcpt命令告知收件人的身份收件方smtp确认是否接收或转发如果同意就回答ok接下来就可以进行数据传输了通信过程中发件方smtp与收件方smtp 采用对话式的方式发件方提出要求收件方进行确认确认后才进行下一步的动作整个过程由发件方控制有时需要确认几回才可以
为了保证回复命令的有效smtp要求发件方必须提供接收方的及邮箱邮件的命令和答复有严格的语法定义并且回复具有相应的数字所有的命令由组成命令是大小写无关的如Mail和MAIL ﹑mail是等效的SMTP提供一种可靠的有效的传送机制它用于传送虽然十几年来它的作用已经有目共睹可是对它功能的扩充也是必不可少的对SMTP服务的扩展我们介绍一下在SMTP转发的邮件中包括信封和内容这两种东西我们写信也写信封和信皮我们可以借生活中的信件来帮助理解
(1)SMTP信封比较容易理解它被作为一系列的SMTP协议单元传送它包括发送者地址传送模式还有一个或多个接收者地址如果有不清楚的地方请参阅SMTP协议标准
SMTP(2至于内容它是由两部分组成的一部分是信头一部分是信体信头是由一个个的域/值对一个域一个值组成的如果信体有结构的话它的结构是以MIME构造的内容从根本上来说是文本的一般也是由ASCII码构成的但是由于使用了MIME所以这个限制应该也是没有了但信头却不行一般都应该使用ASCII码表示虽然SMTP协议是一个不错的协议可是对它的扩展还是不可避免本文主要说明了一种扩展方法使用这种扩展方法和用户之间可以相互知道对方使用了扩展使用了多少如果进行通信SMTP协议是中的一员主要对如何将从发送方地址传送到接收方地址也即是对传输的规则做了规定SMTP协议的通信模型并不复杂主要工作集中在发送SMTP和接收SMTP上首先针对用户发出的邮件请求由发送SMTP一条连接到接收SMTP的双工通讯链路这里的接收SMTP是相对于发送SMTP而言的实际上它既可以是最终的接收者也可以是中间传送者发送SMTP负责向接收SMTP发送SMTP命令而接收SMTP则负责接收并反馈应答
从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答来完成的在通讯链路后发送SMTP发送MAIL命令指令邮件发送者若接收SMTP此时可以接收邮件则作出OK的应答然后发送SMTP继续发出RCPT命令以确认邮件是否收到如果接收到就作出OK的应答否则就发出拒绝接收应答但这并不会对整个邮件操作造成影响双方如此反复多次直至邮件处理完毕SMTP协议共包含10个SMTP命令列表如下
SMTP命令说明
HELO&domain&&CRLF&识别发送方到接收SMTP的一个HELLO命令
MAIL FROM:&reverse-path&&CRLF&为发送者地址此命令告诉接收方一个新邮件发送的开始并对所有的状态和缓冲区进行初始化此命令开始一个邮件传输处理最终完成将邮件到一个或多个邮箱中
RCPT TO:&forward-path&&CRLF&标识各个接收者的地址
DATA&CRLF&
接收SMTP将把其后的行为看作邮件数据去处理以&CRLF&.&CRLF&标识数据的结尾
REST&CRLF&退出/复位当前的邮件传输
NOOP&CRLF&要求接收SMTP仅做OK应答用于测试
QUIT&CRLF&要求接收SMTP返回一个OK应答并关闭传输
VRFY&string&&CRLF&验证指定的邮箱是否存在由于安全因素多禁止此命令
EXPN&string&&CRLF&验证给定的邮箱列表是否存在扩充邮箱列表也常禁止使用
HELP&CRLF&查询服务器支持什么命令sendmail是在Unix环境下使用最广泛的实现邮件发送/接受的邮件传输代理程序由于Sendmail的特点是功能强大而复杂因此为保证Sendmail的安全性需要作以下一些工作
1设置Sendmail使用&smrsh&
smrsh程序的目的是作为在mailer中为sendmail定义的&/bin/sh&的替代shellsmrsh是一种受限shell工具它通过&/
etc/smrsh&目录来明确指定的列表简而言之smrsh限制了攻击者可以执行的程序集当它与sendmail程序一起使用的时候smrsh有效的将sendmail可以执行的程序的范围限制在smrsh目录之下
决定smrsh可以允许sendmail运行的命令列表缺省情况下应当包含以下命令但不局限于这些命令
&/bin/mail&(如果在你的系统中安装了的话
&/usr/bin/procmail&(如果在你的系统中安装了的话
注意不可在命令列表里包括命令例如sh(1csh(1perl(1uudecode(1及流编辑器sed(1
在&/etc/smrsh&目录中创建允许sendmail运行的程序的符号连接
使用以下命令允许mail程序&/bin/mail&运行
[root@deep]#cd/etc/smrsh
[root@deep]#ln-s/bin/mailmail
用以下命令允许procmail程序&/usr/bin/procmail&运行
[root@deep]#cd/etc/smrsh
[root@deep]#ln-s/usr/bin/procmailprocmail
这将允许位于&.forward&和&aliases&中的用户采用&|program&语法来运行mail及procmail程序
配置sendmail使之使用受限shellmailer程序在sendmail的配置文件&/etc/sendmail .cf&中仅有一行必须修改&sendmail. cf&文件中&Mprog&定义的那一行将&/bin/sh&替换为&/usr/sbin/smrsh&
编辑&sendmail .cf&文件vi/etc/sendmail. cf并改动下面这一行
Mprog,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-Unix,A=sh-c$u
现在用以下命令手工重起sendmail进程
[root@deep]#/etc/rc.d/init.d/sendmailrestart
2&/etc/aliases&文件
如果没有加以正确和严格的管理的话别名文件被用来获取特权例如很多发行版本在别名文件中带有&decode&别名现在这种情况越来越少了
这样做的目的是为用户提供一个通过mail传输的方便的方式在的发送地用户把二进制文件用&uuencode&转换成ASCII格式并把结果邮递给接收地&decode&别名那个别名通过管道把邮件消息发送到&/usr/bin/uuencode&程序由这个程序来完成从ASCII转回到原始的的工作
删除&decode&别名类似的对于所有用于执行没有被放在smrsh目录下的程序的别名你都要仔细的检查可能它们都值得怀疑并应当删除它们要想使你的改变生效需要运行
[root@deep]#/usr/bin/newaliases
编辑别名文件vi/etc/aliases并删除以下各行
#Basicsystemaliases--theseMUSTbepresent.
MAILER-DAEMON:postmaster
postmaster:root
#Generalredirectionsforpseudoaccounts.
daemon:root
games:root??删除这一行
:root??删除这一行
nobody:root
system:root??删除这一行
toor:root??删除这一行
uucp:root??删除这一行
#Well-knownaliases.
manager:root??删除这一行
dumper:root??删除这一行
operator:root??删除这一行
#trapdecodetocatchsecurityattacks
decode:root??删除这一行
#Personwhoshouldgetroot'smail
#root:marc
最后应该运行&/usr/bin/newaliases&程序使改动生效
3避免你的Sendmail被未授权的用户滥用
最新版本的Sendmail(8.9.3加入了很强的防止欺骗的特性它们可以防止你的被未授权的用户滥用编辑你的&/etc/sendmail.c f&文件修改一下这个配置文件使你的能够挡住欺骗邮件
编辑&sendmail.c f&文件vi/etc/sendmail. cf并更改下面一行
OPrivacyOptions=authwarnings
OPrivacyOptions=authwarnings,noexpn,novrfy
设置&noexpn&使sendmail禁止所有SMTP的&EXPN&命令它也使sendmail拒绝所有SMTP的&VERB&命令设置&novrfy&使sendmail禁止所有SMTP的&VRFY&命令这种更改可以防止欺骗者使用&EXPN&和&VRFY&命令而这些命令恰恰被那些不守规矩的人所滥用
4SMTP的问候信息
当sendmail接受一个SMTP连接的时候它会向那台机器发送一个问候信息这些信息作为本台的标识而且它所做的第一件事就是告诉对方它已经准备好了
编辑&sendmail. cf&文件vi/etc/sendmail. cf并更改下面一行
OSmtpGreetingMessage=$jSendmail$v/$Z;$b
OSmtpGreetingMessage=$jSendmail$v/$Z;$bNOUCEC=xxL=xx
现在手工重起一下sendmail进程使刚才所做的更改生效
[root@deep]#/etc/rc.d/init.d/sendmailrestart
以上的更改将影响到Sendmail在接收一个连接时所显示的标志信息你应该把&`C=xxL=xx&条目中的&xx&换成你所在的国家和地区后面的更改其实不会影响任何东西但这是&news.admin.net-abuse.email&新闻组的伙伴们推荐的合法做法
5限制可以审核邮件队列内容的人员
通常情况下任何人都可以使用&mailq&命令来查看邮件队列的内容为了限制可以审核邮件队列内容的人员只需要在&/etc/sendmail .cf&文件中指定&restrictmailq&选项即可在这种情况下sendmail只允许与这个队列所在目录的组属主相同的用户可以查看它的内容这将允许权限为0700的邮件队列目录被完全保护起来而我们限定的合法用户仍然可以看到它的内容
编辑&sendmail. cf&文件vi/etc/sendmail. cf并更改下面一行
OPrivacyOptions=authwarnings,noexpn,novrfy
OPrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq
现在我们更改邮件队列目录的权限使它被完全保护起来
[root@deep]#chmod0700/var/spool/mqueue
注意我们已经在sendmail.c f中的&PrivacyOptions=&行中添加了&noexpn&和&novrfy&选项现在在这一行中我们接着添加&restrictmailq&选项
任何一个没有特权的用户如果试图查看邮件队列的内容会收到下面的信息
[user@deep]$/usr/bin/mailq
Youarenotpermittedtoseethequeue
6限制处理邮件队列的权限为&root&
通常任何人都可以使用&-q&开关来处理邮件队列为限制只允许root处理邮件队列需要在&/etc/sendma il. cf&文件中指定&restrictqrun&
编辑&sendmail. cf&文件vi/etc/sendmail. cf并更改下面一行
OPrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq
OPrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq,restrictqrun
任何一个没有特权的用户如果试图处理邮件队列的内容会收到下面的信息
[user@deep]$/usr/sbin/sendmail-q
Youdonothavepermissiontoprocessthequeue
7在重要的sendmail文件上设置不可更改位
可以通过使用&chattr&命令而使重要的Sendmail文件不会被擅自更改可以提高系统的安全性具有&+i&属性的文件不能被修改它不能被删除和改名不能创建到这个文件的链接不能向这个文件写入数据只有超级用户才能设置和清除这个属性
为&sendmail. cf&文件设置不可更改位
[root@deep]#chattr+i/etc/sendmail. cf
为&sendmail.cw&文件设置不可更改位
[root@deep]#chattr+i/etc/sendmail.cw
为&sendmail. mc&文件设置不可更改位
[root@deep]#chattr+i/etc/sendmail. mc
为&null. mc&文件设置不可更改位
[root@deep]#chattr+i/etc/null. mc
为&aliases&文件设置不可更改位
[root@deep]#chattr+i/etc/aliases
为&access&文件设置不可更改位
[root@deep]#chattr+i/etc/mail/access
qmail有一个名为rcpthosts该文件名源于RCPTTO命令的配置文件其决定了是否接受一个邮件只有当一个RCPTTO命令中的接收者地址的域名存在于rcpthosts文件中时才接受该邮件否则就拒绝该邮件若该文件不存在则所有的邮件将被接受当一个不管邮件接收者和邮件接收者是谁而是对所有邮件进行转发relay则该邮件就被称为openrelay的当qmail没有rcpthosts时其是的
设置自己为非openrelay的最简单的办法就是将你的的所有域名若DNS的MX记录指向该机器也应该包括该域名但是这将导致你的本地客户也被拒绝使用你的服务器转发而要支持客户使用MUA来发送邮件必须允许客户使用服务器转发邮件qmail-smtpd支持一种有选择性的忽略rcpthosts文件的方法若qmail-smtpd的RELAYCLIENT被设置则rcpthost文件将被忽略relay将被允许但是如何识别一个邮件发送者是否是自己的客户呢qmail并没有采用密码认证的方法而是判断发送邮件者的源IP地址若该IP地址属于本地网络则认为该发送者为自己的客户
这里就要使用ucspi-tcp在这里我们要使用该的tcpserver程序该程序的功能类似于inetd-监听进入的连接请求为要启动的服务设置各种然后启动指定的服务
tcpserver的配置文件是/etc/tcp.smtp该文件定义了是否对某个网络设置RELAYCLIENT例如本地网络是地址为192.168.10.0/24的C类地址则tcp.smtp的内容应该设置如下
:allow,RELAYCLIENT=&&
192.168.10.:allow,RELAYCLIENT=&&
这几个规则的含义是指若连接来自127.0.0.1和192.168.10则允许并且为其设置RELAYCLIENT否则允许其他连接但是不设置RELAYCLIENT环境变量这样当从其他地方到本地的25号连接将会被允许但是由于没有被设置所以其连接将会被qmail-smptd所拒绝
但是tcopserver并不直接使用/etc/tcp.smtp文件而是需要先将该文件转化为cbd文件
[lix@mail/etc]$#tcprulestcp.smtp.cdbtcp.smtp.temp&tcp.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是什么?有什么作用?
SMTP是Simple Mail Transfer Protocol的缩写即是一种提供有效可靠传送的协议用于在两台间交换邮件负责发送邮件的称为SMTP客户负责接收邮件的服务器称为SMTP服务器. 例如本动画中SMTP-1是客户SMTP-2是服务器. 如果 Alice采用形式则用户代理是客户SMTP-1是服务器.
2. 什么是SMTP命令和应答?
SMTP客户使用命令把信息传送到共有4个字母组成例如MAIL命令传送发件人信息DATA传送邮件内容等.使用应答对此回应由3个数字后面附上简单的文字说明组成例如&250 OK& 表示同意客户发来的命令
3. 为什么发送邮件前先发送RCPT 命令而不是直接发送邮件?
先发送RCPT命令的目的是为了弄清是否做好接收邮件的准备然后才发送邮件. 这样避免浪费网络资源不致于发送了很长的邮件后才发现收件人帐户有问题例如查无此人信箱不够.
4.间邮件传输使用了TCP协议为何邮件有时还会丢失?
之间的SMTP协议使用TCP连接可以保证邮件准确无误地在邮件服务器之间传输. 但由于邮件服务器本身的故障例如邮件空间不足等会导致邮件无法完成传输而导致丢失.
5. 发件人为何不直接将邮件发送给收件人的用户代理而是通过来传输?
因为用户电脑手机性能有限无法运行收发邮件的程序并且无法不间断地运行并连接到上. 因此只能将信件暂时存放在中用户需要时就可以去下载信件.
6. 为什么用户收发邮件时感觉不到SMTP过程?
如果用户使用软件则这个复杂的过程被用户代理屏蔽了用户只需要进行简单的发送操作就可完成邮件的发送. 如果用户使用Web方式则所有过程都由完成.
新手上路我有疑问投诉建议参考资料 查看

我要回帖

更多关于 apec是什么意思 的文章

 

随机推荐