ä½ å¯ä»¥ä½¿ç¨æ§ä»¶NMSMTPæ¥åéçµåé®ä»¶ï¼ä»¥ä¸æ¯ç¤ºä¾ä»£ç ï¼
procedure TfrmSendMail.btnSendClick(Sender:Tobject);
begin
if edtAdress.text=ââ then
exit;
if edtport.text=ââ then
exit;
if edtSendusertext=ââ then
exit;
if edtReceiver.text=ââ then
exit;
NMSMTP1.host:=edtAdress.text;
NMSMTP1.port:=strtoint(edPort.text);
NMSMTP1.UserId:=edtSenduser.text;
NMSMTP1.conncet;
end;
procedure TfrmSendMail. NMSMTP1 ConnectionFailed(Sender:Tobject);
begin
showmessage(âè¿æ¥å¤±è´¥â);
end;
procedure TfrmSendMail. NMSMTP1 Connection (Sender:Tobject);
begin
sendmessage(Handle,WM_LOGIN,0,0);//èªå®ä¹æ¶æ¯æ¯ä¼ éã产çWM_LOGINäºä»¶
end;
procedure TfrmSendMail. WMLOGIN (var MSG:TWM);//å¤çèªå®ä¹æ¶æ¯
begin
//è¿éåéé®ä»¶ã
NMSmTP1.postmessage.fromadress:=edtuserMail.text;
NMSmTP1.postmessage.fromname:=edtsenderuser.text;
NMSmTP1.postmessage.subject:=edtsubject.text;
NMSmTP1.postmessage.toadress.add(edtreceiver.text);
NMSmTP1.postmessage.attachments.addstrings(listbox1.items);
NMSmTP1.postmessage.body.assign(memo1.lines);
NMSMTP1.SENDMAIL;
NMSMTP1.DISCONNCET;
end;
以ä¸æ¯æå
³çNMSMTPèµæï¼
å±æ§
1ã ClearParamså±æ§
为çæ¶ï¼é®ä»¶åéå®æ¯ä¼æPostMessageå±æ§çå¼æ¸
空
2ã EncodeType
æå®é®ä»¶ç¼ç æ¹å¼ãuuMIMEâMIME ç¼ç ;unCode---UUEncodingç¼ç
3ã FinalHeader
æå®æåçæ¶æ¯å¤´æ ã
4ãHost
SMTPæå¡å¨ç主æºåæIPå°åã
5ãLocalIP
è¿å客æ·æºçIPå°åï¼è¥æå¤ä¸ªåªè¿åä¸ä¸ªã
6ãPort
æå®æå¡å¨ç端å£
7ãPostMessage
æ¯ä¸ä¸ªç±»ï¼åå¨è¦åéçé®ä»¶ä¿¡æ¯ãå
·ä½å¦ä¸ï¼
l FromNameï¼å件人å称
l FromAdressï¼å件人emailå°åã
l ReplayToAdress:åå¤å°å
l Orgranizationï¼å件人æå¨å°åã
l LocalProgram:å件人æç¨ç客æ·ç¨åº
l ToAdress:æ¯Tstringlist对象ï¼æ¶ä»¶äººçæ¥æ¶å°åã
l ToCC: Tstringlist对象,æéçemailå°åã
l ToBCC: Tstringlist对象,å¯éçemailå°åã
l Attachments: Tstringlist对象,æå®çé件ã
l Body: Tstringlist对象,é®ä»¶æ£æã
l Subject:é®ä»¶ä¸»é¢ã
l Date:é®ä»¶åéæ¥æï¼ä¸ºç©ºæå½åæ¥æã
9ã ReplayNumber
åªè¯»å±æ§ï¼è¿åsmtpæå¡å¨ååºåºçä¿¡æ¯ã
10ãstatus
å½åç¶æä¿¡æ¯ã
11ãTimeout
毫ç§çº§å«çåä½ï¼å¦æè§å®æ¶é´Socket没æååºï¼è§¦åå¼å¸¸ã
12ãTransactionReply
è¿åä¸ä¸æ¬¡å½ä»¤çæ§è¡ç»æã
13ãUserID
æå®çç¨æ·åã
追é®å°±è¿æ ·å°±å¥½äºè¿æ¯éè¦æ·»å ç½è·¯æ¹é¢ç代ç
追çåéé®ä»¶å°±è¿ä¸ªä»£ç å