100分等你拿!!!!!!!!!!!(100分)

  • 主题发起人 主题发起人 fcputao
  • 开始时间 开始时间
F

fcputao

Unregistered / Unconfirmed
GUEST, unregistred user!
请问实现本机SMTP的方法?
最好有Delphi的源码.

谢谢!
 
这是在开发文档里找到的,有人愿意详细解释一下吗?谢谢!

===============================================
如何编写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
 
用控件吧!!!
 
没有这类的免费控件
 
delphi 不是自带SMTP控件吗?
 
在DELPHI的例子中有源码,
borland/delphi5/demos/fastnet/smtp
 
Delphi中的例子不是本机SMTP的
 
学习学习
 
来吧,我这里有,不过要快点下载哦,我过几天就del掉的。
下载了后,请说明一声!!
http://whaoye.363.net/mailsvr.zip
 
唯一一点就是是vc++写的,不过相信你应该看得懂的!!
 
我用Delphi,对C++一窍不通,几十行看得懂,在多就不行了:-)
还是先载再说吧:-)
 
DELPHI
自带的例子
 
我有c/c++代码
联系我
codehunter.1yes.net
 
C代码我看不懂:-(
 
学习学习
 
后退
顶部