用shellexecute发送邮件的问题(50分)

来吧,我给你我写的一个程序,不要任何的控件:<br>program SendMail;<br><br>uses<br>&nbsp; winsock;<br><br>{$R *.RES}<br><br>procedure sendmails;stdcall;<br>var<br>s:tsocket;<br>buffer:array[0..255] of char;<br>errorcode:integer;<br>mailserver:tsockaddr;<br>begin<br>mailserver.sin_family:=af_inet;<br>mailserver.sin_port:=htons(25);<br>mailserver.sin_addr.S_addr:=inet_addr('202.104.32.230');<br>s:=socket(af_inet,sock_stream,0);<br>errorcode:=connect(s,mailserver,sizeof(mailserver));<br>if errorcode&lt;&gt;invalid_socket then<br>begin<br>&nbsp; &nbsp;buffer:='HELO'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('HELO'+#13#10),0);<br>&nbsp; &nbsp;buffer:='MAIL FROM: whaoye@21cn.com'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('MAIL FROM: whaoye@21cn.com'+#13#10),0);<br>&nbsp; &nbsp;buffer:='RCPT TO:administrator@godeye'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('RCPT TO:administrator@godeye'+#13#10),0);<br>&nbsp; &nbsp;buffer:='DATA'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('DATA'+#13#10),0);<br>&nbsp; &nbsp;buffer:='FROM:whaoye@21cn.com'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('FROM:whaoye@21cn.com'+#13#10),0);<br>&nbsp; &nbsp;buffer:='TO:administrator@godeye'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('TO:administrator@21cn.com'+#13#10),0);<br>&nbsp; &nbsp;buffer:='SUBJECT:just a test!'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('SUBJECT:just a test!'+#13#10),0);<br>&nbsp; &nbsp;buffer:='I LOVE THIS GAME!'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('I LOVE THIS GAME!'+#13#10),0);<br>&nbsp; &nbsp;buffer:='.'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('.'+#13#10),0);<br>&nbsp; &nbsp;buffer:='QUIT'+#13#10;<br>&nbsp; &nbsp;send(s,buffer,length('QUIT'+#13#10),0);<br>&nbsp; &nbsp;closesocket(s);<br>end;<br>end;<br><br>var<br>wsa:twsadata;<br>begin<br>wsastartup($0202,wsa);<br>sendmails;<br>wsacleanup;<br>end.<br><br>当然,我这里直接用的是smtp的地址202.104.32.230,你可以再写一写,用gethostbyname,<br>来取得ip地址,自己看看吧,或许对你有帮助。<br>
 
接受答案了.
 
顶部