⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mail服务器间通信原理.txt

📁 大量Delphi开发资料
💻 TXT
字号:
ESMTP就是扩展的smtp
DNS+SMTP 就是两个邮件服务器在交换邮件时,需要通过DNS查询收件人域名的MX记录。

    Email(Encode) -> a SMTP Relay Server -> Remote SMTP Server(远程邮局)。非常简单,邮件编码后被递送到一个SMTP转交服务器上,该服务器对信件分检(到同一邮局的被放在一起)后,根据优先级以及信件的先后次序被发送到远程邮局的SMTP服务器上。换句话说,只要我们知道了SMTP转交服务器是如何确定远程邮局SMTP服务器的地址的,就可以轻松地将饶开SMTP Relay Server直接递送到远程邮局服务器。 
    SMTP Relay Server是如何确定远程邮局服务器的地址的呢?如果你熟悉域名解析,就知道是怎么回事了,我们知道电子邮件的地址由两部分构成postbox@address.com,邮箱(postbox)和地址(address.com),给域名服务器发送指令查询"address.com”的远程邮局服务器的地址即可找到远程邮局SMTP服务器的IP 地址,该指令查询是被称作MX(Mail Exchange)邮件交换服务器的地址查询。远程邮局SMTP服务器的地址可能不止一个,这时,你可根据信件优先级的不同,将对应优先级的信件发到对应地址的远程邮局SMTP服务器,当然,你也可以不管三七二十一,随便选一个SMTP服务器发送。

==================================================================================

许多时候,我想不通为什么不能直接将信件送到对方(POP或IMAP)服务器上,
为什么非要通过一个莫名其妙的SMTP邮件服务器转交一次,实在不服气,如果使
用UNIX,这个问题就很好解决,用sendmail就能完成递送任务,但在Windows下
呢?同样的,一定也有办法饶开SMTP Server直接递送到对方的远程邮局服务器
上,难得住别人,难得住我们程序员吗?分析相关协议(RFC2645,RFC821, 
RFC1846,RFC1939,RFC1725,RFC1730-RFC1733 etc.),我们会知道要完成直接递
送其实相当简单。 
   首先我们看一下Email的递送过程:
   Email(Encode) -> a SMTP Relay Server -> Remote SMTP Server(远程邮局)。
非常简单,邮件编码后被递送到一个SMTP转交服务器上,该服务器对信件分检
(到同一邮局的被放在一起)后,根据优先级以及信件的先后次序被发送到远程
邮局的SMTP服务器上。换句话说,只要我们知道了SMTP转交服务器是如何确定远
程邮局SMTP服务器的地址的,就可以轻松地将饶开SMTP Relay Server直接递送到
远程邮局服务器。 
   SMTP Relay Server是如何确定远程邮局服务器的地址的呢?如果你熟悉域名解析,就知道是怎么回事了,我们知道电子邮件的地址由两部分构成postbox@address.com,
邮箱(postbox)和地址(address.com),给域名服务器发送指令查询"address.com”
的远程邮局服务器的地址即可找到远程邮局SMTP服务器的IP 地址,该指令查询是被
称作MX(Mail Exchange)邮件交换服务器的地址查询。远程邮局SMTP服务器的地址可
能不止一个,这时,你可根据信件优先级的不同,将对应优先级的信件发到对应地址
的远程邮局SMTP服务器,当然,你也可以不管三七二十一,随便选一个SMTP服务器发
送,见后附“域名解析结果样例”。简单吧。这下,自己编写一个SMTP Server不难了
吧! 

问题:头ID是个麻烦的事,有时会产生Invalid Head ID 5811的错误。 

附:域名解析结果样例 

Answer List 

Resource name is : sina.com 
Type is : MX Class is : IN 
MX Priority : 10 MX Server : mailcn.sina.com 

Resource name is : sina.com 
Type is : MX Class is : IN 
MX Priority : 15 MX Server : mail.sina.com.cn 


Authority List 

Resource name is : sina.com 
Type is : NS Class is : IN 
Domain name is : resolver.sina.com 

Resource name is : sina.com 
Type is : NS Class is : IN 
Domain name is : ns2.sina.com 


Additional Response List 

Resource name is : mailcn.sina.com 
Type is : A Class is : IN 
IP Address is : 202.106.184.233 

Resource name is : mail.sina.com.cn 
Type is : A Class is : IN 
IP Address is : 202.106.187.150 

Resource name is : resolver.sina.com 
Type is : A Class is : IN 
IP Address is : 206.204.114.135 

Resource name is : ns2.sina.com 
Type is : A Class is : IN 
IP Address is : 209.133.24.135 

命令行方式发送mail  作者 CyberGhost 
关键字 mail
原作者姓名 CyberGhost

介绍
在windows目录下建立文本文件zzzz.txt
eg: c:\WINNT\zzzz.txt
输入你想要发送的内容

===================================================================================

通讯的路径如下:
[user@sina.com]<-(1)->[smtp.sina.com]<-(2)->[smtp.263.com](3)[pop.263.com]<--(4)-->[user@263.com]


1.

如果用的是 outlook

阶段(1):outlook 通过 SMTP协议,与smtp.sina.com 联系,身份认证,发送信笺

阶段(2):smtp.sina.com 中的远程投递模块通过 SMTP协议,与smtp.263.com联系,不需要身份认证

阶段(3):smtp.263.com调用本地投递模块将信笺放入 user@263.com的信箱

阶段(4):user@263.com 用户通过outlook与pop.263.com联系,身份认证,接受信笺

2.这一过程中smtp.sina.com 向smtp.263.com发信时,应为smtp.263.com发现收信人地址的域名是263.com,不是转发,所以smtp.263.com不需要身份认证

3.ESMTP是SMTP的扩展,增加一些命令,

4.所谓的邮件中继就是 smtp.sina.com  将mail不直接投递给smtp.263.com,而是投递给了一台中继主机,中继主机再将mail转发给smtp.263.com,如果你的邮件服务器不在internat上,就需要邮件中继,

5.广域网的邮件服务器至少要包括 smtp,pop3,别名模块,另外可以加如 imap,病毒扫描,送信地址检查等功能模块,也可以自行加入一些管理协议模块,可以远程的添加删除用户,邮件列表等等

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -