如何写一邮件代理服务器?(100分)

  • 主题发起人 主题发起人 kmgyl
  • 开始时间 开始时间
K

kmgyl

Unregistered / Unconfirmed
GUEST, unregistred user!

我想写一个邮件代理服务器,类似PROXY的邮件代理功能?使用TSERVERSOCKET
控件能截获 ONCONNECT事件,但总无法读取客户端发来的数据信息(邮件内容)?不知该如何操作?
 
不好意思,你要写什么??直接配置MAIL SRV 不行吗??
 
我的愿意是监测STMP的端口,接收用户发出的邮件,判断邮件发送的目的地址,再进行转发。
 
明白了,不过应该没问题呀,我记得以前哪里见过用TELNET发邮件的,不过
ATTECHMENT就不知道了,不过,有必要吗?
 

我应该响应哪一个事件?
我想在ONCLIENTREAD中读数据,但这个事件一直不能被响应?
测试时,客户端我用OUTLOOK 发邮件。
 
hehe,
First,
In OnConnect event, you must accept that connection.

Second,
If you want to make a SMTP proxy, when client connect to you,
you must write a line of read msg to the client first, like:
"220 SMTP proxy made by kmgyl is ready, :)"

You can't get client's msg for the client is waiting for your hello
msg now, :).
 
请贴部分源码
 
你如果写proxy的话只要把从用户来的msg发给Mail svr就可以了。

我看你的要求是要写一个Mail Server,因为所有的工作你都要自己作 :)
 
如果是用SendBuf发送数据,请注意它的返回值:

while (Socket->SendBuf(buf, Count) == -1)
Sleep(100);

不过,最好是另开thread.
 
please download "winshoes" from www.pbe.com/winshoes
it have a demo of smtp-svr :)
 
看看 rfc1939,rfc821
 
smtp服务器编好了,可传来的数据看不懂,
谁能解释?
收来的数据如下:
DATA

Received: from zzbmapinfo (ZZB-MAPINFO [192.168.0.174]) by mail1.sctvn.com.cn with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.1960.3)
id 296L4TQ8; Sat, 15 Apr 2000 15:22:19 +0800
Message-ID: <007601bfa6a9$492b94e0$ae00a8c0@sctvn.com.cn>
From: "tao" <tao@mail.sctvn.com.cn>
To: "tt" <tt@zzb-mapinfo.sctvn.com.cn>
Subject: QQQ
Date: Sat, 15 Apr 2000 15:07:34 +0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0073_01BFA6EC.546B6400"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2014.211
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211

This is a multi-part message in MIME format.

------=_NextPart_000_0073_01BFA6EC.546B6400
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64

MTExDQoNCg==

------=_NextPart_000_0073_01BFA6EC.546B6400
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdi
MjMxMiIgaHR0cC1lcXVpdj1Db250ZW50LVR5cGU+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNS4w
MC4yMDE0LjIxMCIgbmFtZT1HRU5FUkFUT1I+DQo8U1RZTEU+PC9TVFlMRT4NCjwvSEVBRD4NCjxC
T0RZIGJnQ29sb3I9I2ZmZmZmZj4NCjxESVY+PEZPTlQgc2l6ZT0yPjExMTwvRk9OVD48L0RJVj4N
CjxESVY+Jm5ic3A7PC9ESVY+PC9CT0RZPjwvSFRNTD4NCg==

------=_NextPart_000_0073_01BFA6EC.546B6400--

.

我传的应该是111,可看不懂.


 
其实这些你看看smtp协议就知道了,很多东西对于用户来说是不必关心的。
他们关心的像From:发件人;To:收件人;X-Priority: 邮件优先级;
subject:主题……都蛮好理解的。最难的是邮件内容编码了,这个我也
不大懂了。但我这里有smtp协议的资料(全E文),如果你要,

Mail到hydraxin@21cn.com吧
 
接受答案了.
 
后退
顶部