我寫的群件器﹐大家看看﹐可以提取email地址的﹐提取QQ好友email,http://61.132.118.185:8080/dispdocnew.php?t

G

goddy

Unregistered / Unconfirmed
GUEST, unregistred user!
我寫的群件器﹐大家看看﹐可以提取email地址的﹐提取QQ好友email,http://61.132.118.185:8080/dispdocnew.php?t=33&amp;id=4390 (100分)<br />可惜不知如查內置smtpserver
如何在我的程序里內置一個smtpserver 呢
如何让idSMTPServer_Demo.dpr 发外部邮件呢
我用idSMTPServer 发外邮件,信到是发出去,可是收不到,到底是怎么回事呢
 
好像foxmail 就行??????
 
可以的,搜索这里就有现成的了,我做过,丢了。现在又想做,有资料,要不?不过答应做好给我一份如何?
 
好的,做完一分給你
 
我有一个 smtp 服务器 代码。
 
楼主留下email吧,楼上的,您的能给份吗?jumberyin@21cn.com
 

//
function FindInTable(CSource:char):integer;
begin
result:=Pos(string(CSource),BaseTable)-1;
end;
////
function DecodeBase64(Source:string):string;
var
SrcLen,Times,i:integer;
x1,x2,x3,x4,xt:byte;
begin
result:='';
SrcLen:=Length(Source);
Times:=SrcLen div 4;
for i:=0 to Times-1 do
begin
x1:=FindInTable(Source[1+i*4]);
x2:=FindInTable(Source[2+i*4]);
x3:=FindInTable(Source[3+i*4]);
x4:=FindInTable(Source[4+i*4]);
x1:=x1 shl 2;
xt:=x2 shr 4;
x1:=x1 or xt;
x2:=x2 shl 4;
result:=result+chr(x1);
if x3= 64 then break;
xt:=x3 shr 2;
x2:=x2 or xt;
x3:=x3 shl 6;
result:=result+chr(x2);
if x4=64 then break;
x3:=x3 or x4;
result:=result+chr(x3);
end;
end;
/////
function EncodeBase64(Source:string):string;
var
Times,LenSrc,i:integer;
x1,x2,x3,x4:char;
xt:byte;
begin
result:='';
LenSrc:=length(Source);
if LenSrc mod 3 =0 then Times:=LenSrc div 3
else Times:=LenSrc div 3 + 1;
for i:=0 to times-1 do
begin
if LenSrc >= (3+i*3) then
begin
x1:=BaseTable[(ord(Source[1+i*3]) shr 2)+1];
xt:=(ord(Source[1+i*3]) shl 4) and 48;
xt:=xt or (ord(Source[2+i*3]) shr 4);
x2:=BaseTable[xt+1];
xt:=(Ord(Source[2+i*3]) shl 2) and 60;
xt:=xt or (ord(Source[3+i*3]) shr 6);
x3:=BaseTable[xt+1];
xt:=(ord(Source[3+i*3]) and 63);
x4:=BaseTable[xt+1];
end
else if LenSrc>=(2+i*3) then
begin
x1:=BaseTable[(ord(Source[1+i*3]) shr 2)+1];
xt:=(ord(Source[1+i*3]) shl 4) and 48;
xt:=xt or (ord(Source[2+i*3]) shr 4);
x2:=BaseTable[xt+1];
xt:=(ord(Source[2+i*3]) shl 2) and 60;
x3:=BaseTable[xt+1];
x4:='=';
end else
begin
x1:=BaseTable[(ord(Source[1+i*3]) shr 2)+1];
xt:=(ord(Source[1+i*3]) shl 4) and 48;
x2:=BaseTable[xt+1];
x3:='=';
x4:='=';
end;
result:=result+x1+x2+x3+x4;
end;
end;
//////////

procedure TForm1.Button1Click(Sender: TObject);
var MailTo,MailBody:TStringList;
begin
Nmsmtp1.Host :='smtp.sohu.com';
nmsmtp1.Port :=25;
nmsmtp1.UserID :='linbch';//发信人的用户名,必须是真实的
nmsmtp1.ReportLevel :=1;
Nmsmtp1.TimeOut :=10000;
nmsmtp1.Connect ; ///连接
if AuthSucc=true then ////验证成功
begin
MailTo:=TStringList.Create;
MailTo.Add('cunmin1@163.net');
MailBody.Add('Hello it is a test');
nmsmtp1.PostMessage.FromAddress:='linbch@sohu.com'; //发信人的电子邮件地址
nmsmtp1.PostMessage.ToAddress :=MailTo;
nmsmtp1.PostMessage.Body:=MailBody;
nmsmtp1.PostMessage.Subject :='My test';
Mailto.Clear ;
//Mailto.Add('c:/a.txt');
//Mailto.Add('c:/b.txt');
//nmsmtp1.PostMessage.Attachments:=MailTo; 附件
MailTo.Free ;
MailBody.Free;
nmsmtp1.SendMail;
end;
end;

procedure TForm1.NMSMTP1Connect(Sender: TObject);
begin
//////连接成功,下面用户认证过程
label1.caption:=nmsmtp1.Status;
if nmsmtp1.ReplyNumber = 250 then
label1.caption:=nmsmtp1.Transaction('auth login'); //开始认证
if nmsmtp1.ReplyNumber =334 then //返回值为334,让你输入用BASE64编码后的用户名
label1.caption:=nmsmtp1.Transaction('YWFhYWE=');// 用户名aaaaa
if nmsmtp1.ReplyNumber =334 then // 返回值为334,让你输入用BASE64编码后的用户密码
label1.caption:=nmsmtp1.Transaction('MTIzNDU2'); //密码为123456
if nmsmtp1.ReplyNumber =235 then
begin
label1.caption:='successful';
AuthSucc:=true;
end;
//showmessage(label1.caption);
end;
 
我的EMail:comnetcom@163.net
不過你的代碼是用別人的smtp 呀
 
to 人在昆明,是delphi的吗?给我也来份,谢!
dirk_c@sina.com
 
昆明人的是硬通货,您要不到下边领点分分?

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1263967
 
不會吧﹐你發給我的是socket ﹐不是smtp呀
 
使用ICS就可以建立一个MAILSERVER具体的文件在ICS的网站上
 
我也想要代码,请给我一份
fbzz88@163.com
我也送分给你
 
delphi6有decodebase6控件
发mime邮件时怎么用啊
 
自己写确实是个好注意
 
到网上搜索啊,hermes就是一个mailserver,Delphi写的,带源代码(免费的东西,很不错)
 
我做了一个POP及SMTP的测试软件,你可以试试,附所有Delphi6源码、编译文件和说明
请到http://www.135791.com下载。
 
to genue,谢,在下载
 
请到http://keithg.yeah.net去下载
 
顶部