初学者之问,想拿分的人快来哦!! 我想还是以应用为主.... 好运 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用NMSMTP控件,那只有使用API了:function SendMail(const Subject, Body, FileName, SenderName, SenderEMail, RecepientName, RecepientEMail: string): Integer;var Message: TMapiMessage; lpSender, lpRecepient: TMapiRecipDesc; FileAttach: TMapiFileDesc; SM: TFNMapiSendMail; MAPIModule: HModule;begin FillChar(Message, SizeOf(Message), 0); with Message do begin if (Subject <> '') then lpszSubject := PChar(Subject); if (Body <> '') then lpszNoteText := PChar(Body); if (SenderEmail <> '') then begin lpSender.ulRecipClass := MAPI_ORIG; if (SenderName = '') then lpSender.lpszName := PChar(SenderEMail) else lpSender.lpszName := PChar(SenderName); lpSender.lpszAddress := PChar(SenderEmail); lpSender.ulReserved := 0; lpSender.ulEIDSize := 0; lpSender.lpEntryID := nil; lpOriginator := @lpSender; end; if (RecepientEmail <> '') then begin lpRecepient.ulRecipClass := MAPI_TO; if (RecepientName = '') then lpRecepient.lpszName := PChar(RecepientEMail) else lpRecepient.lpszName := PChar(RecepientName); lpRecepient.lpszAddress := PChar(RecepientEmail); lpRecepient.ulReserved := 0; lpRecepient.ulEIDSize := 0; lpRecepient.lpEntryID := nil; nRecipCount := 1; lpRecips := @lpRecepient; end else lpRecips := nil; if (FileName = '') then begin nFileCount := 0; lpFiles := nil; end else begin FillChar(FileAttach, SizeOf(FileAttach), 0); FileAttach.nPosition := Cardinal($FFFFFFFF); FileAttach.lpszPathName := PChar(FileName); nFileCount := 1; lpFiles := @FileAttach; end; end; MAPIModule := LoadLibrary(PChar(MAPIDLL)); if MAPIModule = 0 then Result := -1 else try @SM := GetProcAddress(MAPIModule, 'MAPISendMail'); if @SM <> nil then begin Result := SM(0, Application.Handle, Message, MAPI_DIALOG orMAPI_LOGON_UI, 0); end else Result := 1; finally FreeLibrary(MAPIModule); end; if Result <> 0 then MessageDlg('Error sending mail (' + IntToStr(Result) + ').', mtError, [mbOK], 0);end;**********************whaoye:program SendMail;uses winsock;{$R *.RES}procedure sendmails;stdcall;vars:tsocket;buffer:array[0..255] of char;errorcode:integer;mailserver:tsockaddr;beginmailserver.sin_family:=af_inet;mailserver.sin_port:=htons(25);mailserver.sin_addr.S_addr:=inet_addr('202.104.32.230');s:=socket(af_inet,sock_stream,0);errorcode:=connect(s,mailserver,sizeof(mailserver));if errorcode<>invalid_socket thenbegin buffer:='HELO'+#13#10; send(s,buffer,length('HELO'+#13#10),0); buffer:='MAIL FROM: [email protected]'+#13#10; send(s,buffer,length('MAIL FROM: [email protected]'+#13#10),0); buffer:='RCPT TO:administrator@godeye'+#13#10; send(s,buffer,length('RCPT TO:administrator@godeye'+#13#10),0); buffer:='DATA'+#13#10; send(s,buffer,length('DATA'+#13#10),0); buffer:='FROM:[email protected]'+#13#10; send(s,buffer,length('FROM:[email protected]'+#13#10),0); buffer:='TO:administrator@godeye'+#13#10; send(s,buffer,length('TO:[email protected]'+#13#10),0); buffer:='SUBJECT:just a test!'+#13#10; send(s,buffer,length('SUBJECT:just a test!'+#13#10),0); buffer:='I LOVE THIS GAME!'+#13#10; send(s,buffer,length('I LOVE THIS GAME!'+#13#10),0); buffer:='.'+#13#10; send(s,buffer,length('.'+#13#10),0); buffer:='QUIT'+#13#10; send(s,buffer,length('QUIT'+#13#10),0); closesocket(s);end;end;varwsa:twsadata;beginwsastartup($0202,wsa);sendmails;wsacleanup; 如果实现 寻径的功能? 这是什么编码,如何进行编码 如何隐藏控制台程序的DOS窗口? indy + ADO 我想新建一个有固定名称和属性的拔号网络连接,所以没办法用RasCreatePhonebookEntry这个API函数,请教有什么办法吗? 如何将integer类型变量除以2后,强制转换为整形 cxSpreadSheetBook显示UnKnown Function 惨啊!不得不舍弃D7用D6 这个问题估计没人会! 哪里有获得指定IP地址的机器网卡MAC地址的源程序? 气愤中,散分 如何在win2000下隐藏线程?
function SendMail(const Subject, Body, FileName,
SenderName, SenderEMail,
RecepientName, RecepientEMail: string): Integer;
var
Message: TMapiMessage;
lpSender, lpRecepient: TMapiRecipDesc;
FileAttach: TMapiFileDesc;
SM: TFNMapiSendMail;
MAPIModule: HModule;
begin
FillChar(Message, SizeOf(Message), 0);
with Message do
begin
if (Subject <> '') then lpszSubject := PChar(Subject);
if (Body <> '') then lpszNoteText := PChar(Body);
if (SenderEmail <> '') then
begin
lpSender.ulRecipClass := MAPI_ORIG;
if (SenderName = '') then
lpSender.lpszName := PChar(SenderEMail)
else
lpSender.lpszName := PChar(SenderName);
lpSender.lpszAddress := PChar(SenderEmail);
lpSender.ulReserved := 0;
lpSender.ulEIDSize := 0;
lpSender.lpEntryID := nil;
lpOriginator := @lpSender;
end; if (RecepientEmail <> '') then
begin
lpRecepient.ulRecipClass := MAPI_TO;
if (RecepientName = '') then
lpRecepient.lpszName := PChar(RecepientEMail)
else
lpRecepient.lpszName := PChar(RecepientName);
lpRecepient.lpszAddress := PChar(RecepientEmail);
lpRecepient.ulReserved := 0;
lpRecepient.ulEIDSize := 0;
lpRecepient.lpEntryID := nil;
nRecipCount := 1;
lpRecips := @lpRecepient;
end
else
lpRecips := nil; if (FileName = '') then
begin
nFileCount := 0;
lpFiles := nil;
end
else
begin
FillChar(FileAttach, SizeOf(FileAttach), 0);
FileAttach.nPosition := Cardinal($FFFFFFFF);
FileAttach.lpszPathName := PChar(FileName);
nFileCount := 1;
lpFiles := @FileAttach;
end;
end; MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule = 0 then
Result := -1
else
try
@SM := GetProcAddress(MAPIModule, 'MAPISendMail');
if @SM <> nil then
begin
Result := SM(0, Application.Handle, Message, MAPI_DIALOG or
MAPI_LOGON_UI, 0);
end
else
Result := 1;
finally
FreeLibrary(MAPIModule);
end; if Result <> 0 then
MessageDlg('Error sending mail (' + IntToStr(Result) + ').', mtError,
[mbOK], 0);
end;**********************
whaoye:
program SendMail;uses
winsock;{$R *.RES}procedure sendmails;stdcall;
var
s:tsocket;
buffer:array[0..255] of char;
errorcode:integer;
mailserver:tsockaddr;
begin
mailserver.sin_family:=af_inet;
mailserver.sin_port:=htons(25);
mailserver.sin_addr.S_addr:=inet_addr('202.104.32.230');
s:=socket(af_inet,sock_stream,0);
errorcode:=connect(s,mailserver,sizeof(mailserver));
if errorcode<>invalid_socket then
begin
buffer:='HELO'+#13#10;
send(s,buffer,length('HELO'+#13#10),0);
buffer:='MAIL FROM: [email protected]'+#13#10;
send(s,buffer,length('MAIL FROM: [email protected]'+#13#10),0);
buffer:='RCPT TO:administrator@godeye'+#13#10;
send(s,buffer,length('RCPT TO:administrator@godeye'+#13#10),0);
buffer:='DATA'+#13#10;
send(s,buffer,length('DATA'+#13#10),0);
buffer:='FROM:[email protected]'+#13#10;
send(s,buffer,length('FROM:[email protected]'+#13#10),0);
buffer:='TO:administrator@godeye'+#13#10;
send(s,buffer,length('TO:[email protected]'+#13#10),0);
buffer:='SUBJECT:just a test!'+#13#10;
send(s,buffer,length('SUBJECT:just a test!'+#13#10),0);
buffer:='I LOVE THIS GAME!'+#13#10;
send(s,buffer,length('I LOVE THIS GAME!'+#13#10),0);
buffer:='.'+#13#10;
send(s,buffer,length('.'+#13#10),0);
buffer:='QUIT'+#13#10;
send(s,buffer,length('QUIT'+#13#10),0);
closesocket(s);
end;
end;var
wsa:twsadata;
begin
wsastartup($0202,wsa);
sendmails;
wsacleanup;