请熟悉EMAIL通讯方式的朋友帮助我。(200分)

  • 主题发起人 主题发起人 juchen
  • 开始时间 开始时间
J

juchen

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道当我们利用outlook发信时,我们会连上指定smtp的25端口,通过
helo
mail from:
rcpt to:
data
等一系统命令把数据交给smtp服务器
这些是通过SMTP协议的

当我们通过outlook收邮件时,我们是可以指定POP3的110端口 ,通过
user
pass
list
等指令获取pop3服务器上邮件。
这些是pop3协议

那么当我们把数据送给SMTP服务器,smtp服务器又是怎么分发邮件到各pop3服务器的呢?
又是用什么协议的呢?
 
协议:
RFC2645,RFC821, RFC1846,RFC1939,RFC1725,RFC1730-RFC1733 .....
 
电子邮件的地址由两部分构成 MailBox@Address.com,DNS (域名服务器)解析 Address.com
的 IP ,取得 MX 服务器的地址(SMTP 服务器的 IP 地址)。然后就 .... 。
有关协议如楼上。
 
例如 aabbcc@21cn.com
21cn.com MX 202.104.32.232
可以用telnet实现把某一任一内容的信直接传递到这个aabbcc@21cn.com 的邮箱里吗?
我试了好多次都没成功:(
 
根据小雨哥的指示,能够在无身份验的服务器间发送成功,但是例如aabbcc@21cn.com,
21cn.com是smtp需要验证的,
利用 21cn.com发送到aabbcc@21cn.com,是需要密码验证,一点都不象是特快专递似的直投
,而根本就是直接使用21cn.com做为smtp发信服务器的模式.

一般来说一个smtp服务器投递给另一smtp服务器邮件是不需要密码的,那么怎么实现呢
 
这道题目我终于完全明白了:
aabbcc@21cn.com后在的21cn.com其实指向的是smtp服务器,通过mx获得此服务器ip.
(以前我一直以为是pop3服务器).
客户端设定的smtp服务器,如果发送不是本smtp上的地址,则需要转发(大我数机子需要验证)
smtp服务器(例smtp.163.com)转递发送给(aabbcc@21cn.com),则跟据21cn.com得到smtp服务器(smtp.21cn.com)IP,
连接后当然就是aabbcc@21cn.com的本机了,所以不需要密码.

之前不成功,是因为我省略了“<”“>”,有些SMTP是没有这个容错性的;)
经典对话:
telnet 127.0.0.1
  S: MAIL FROM:<Smith@localhost>
  R: 250 OK
  S: RCPT TO:<Jones@localhost>
  R: 250 OK
S: DATA
  R: 354 Start mail input; end with <CRLF>.<CRLF>
  S: Blah blah blah...
  S: ...等等
  S: <CRLF>.<CRLF>
  R: 250 OK
S: QUIT
 
接受答案了.
 
后退
顶部