Q&A

  • table과연결해서 메일을 보내려는데 문제가 있어요...
아래의 소스좀 보아주십시오



table에있는 메일주소들을 스트링그리드에 연결한뒤 자동으로 메일을 보낼려고 합니다.

그런데 계정이 틀리게 적혀있는 사람에게는 메일이 보내지지않고 '554 tran????가 하는 에러가

떠더군요. 그래서 except 를 추가해서 에러를 나타나지않게 했읍니다.

그러면 건너뛰어서 그다음 자료를 읽어서 메일을 계속보내는줄 알았는데 계정이 없는사람을 만나면

메일발송을 중단하더군요. 계정이없는사람의 주소를 만나기 이전의 자료까지만 메일이

보내진다는 겁니다.



계정이없는 사람을 만나도 그사람만 제외하고 그이후 자료에 대해서는

계속 메일이 보내게 할수는 없나요?



답변 부탁드립니다.





procedure TMainForm.RxSpeedButton1Click(Sender: TObject);

var errorcount,i:Integer; str,str2,Str_PoP3ServerName,Str_Pop3HostName,Str_Pop3HostId:String;

begin



//for i := 0 to MainForm.MailStringGrid1.RowCount -1 do

errorcount:=0;

try



for i := 0 to MainForm.MailTable1.recordcount -1 do

begin



if length(MainForm.MailStringGrid1.cells[2,i+1])<>0 then

begin

with NMSMTP1 do

begin



Host := 'kornet.net';

Port := 25;

UserID := 'abc1200';

if Connected=false then begin connect; end;

end;



with NMSMTP1 do begin

PostMessage.ToAddress.Clear;

PostMessage.Body.clear;

ClearParameters;

PostMessage.FromName := '홍길동';

PostMessage.FromAddress := 'abc1200@kornet.net';

PostMessage.Subject := MainForm.MailStringGrid1.cells[1,i+1]+'님 받으세요';

PostMessage.ToAddress.Add(MainForm.MailStringGrid1.cells[2,i+1]);



PostMessage.Body.Add('테스트입니다.');



SendMail;

DisConnect;

end;

end;

end;



except

begin

errorcount:=errorcount+1;

if NMSMTP1.Connected=True then NMSMTP1.disconnect;

end;

end;

if errorcount<>0 then Application.MessageBox( '에러가있었읍니다.', '에러메세지', + MB_DEFBUTTON1 + MB_ICONSTOP + MB_APPLMODAL );



end;



0  COMMENTS