爲何Indy的 IdSMTP好像沒有偵測userID 和password? |
答題得分者是:pcboy
|
bt815
一般會員 發表:5 回覆:4 積分:1 註冊:2006-10-11 發送簡訊給我 |
各位好:
我搜尋了站上資源,學著使用idsmtp和idmessage一起使用, 參考了此標題的文章:Indy 9.0.10 TIdSMTP & TIdMessage 信件與附件都可以成功發送, 但是我發現如果使用者隨意key in userName & password 也都可以寄送郵件,但是我想先經過驗證,不知道是不是我遺漏了什麼, 想請各位幫我看看,謝謝。 以下附上我部分的程式。 [code cpp] if(UserIDEdit->Text!="" && PassWDEdit->Text!="" && ToEdit->Text!="") { IdMessage->Clear(); IdMessage->Subject = SubjectEdit->Text; IdMessage->Body = Memo->Lines; IdMessage->From->Text = UserIDEdit->Text; IdMessage->Recipients->EMailAddresses = ToEdit->Text; IdMessage->MessageParts->Add(); new TIdAttachment(IdMessage->MessageParts,"C:\\" FileNameLabel->Caption); //認證 IdSMTP->AuthenticationType = atLogin; IdSMTP->Host = EnvMgr->_mailSvr; IdSMTP->UserId = UserIDEdit->Text; IdSMTP->Password = PassWDEdit->Text; IdSMTP->Port= 25; //開始寄送 try { IdSMTP->Connect(); try { IdSMTP->Send(IdMessage); INFO_DLG("發送郵件成功",MB_OK); IdSMTP->Disconnect(); DeleteFile("C:\\" FileNameLabel->Caption); } catch(Exception& e) { IdSMTP->Disconnect(); ERROR_DLG("傳送失敗,訊息如下:" e.Message,MB_OK); logDebug<<"傳送失敗,訊息如下:"< } catch(Exception& e) { ERROR_DLG("Server連線失敗,訊息如下:" e.Message,MB_OK); logDebug<<"Server連線失敗,訊息如下:"< } [/code] 編輯記錄
bt815 重新編輯於 2007-09-27 11:11:48, 註解 無‧
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
bt815
一般會員 發表:5 回覆:4 積分:1 註冊:2006-10-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |