邮件接收和查看程序代码
var currentMsg: integer; procedure TForm1.CntClick(Sender: TObject); begin SakPOP1.Host := EditHost.text; SakPOP1.UserId := EditUserId.text; SakPOP1.UserPasswd := EditPasswd.text; StatusBar1.Panels[0].text := '请稍候,正在处理...'; SakPOP1.connect; if SakPOP1.POPError then begin MessageDlg( '连接失败。可能是服务器故障或无响应。', mtError, [mbOk], 0); exit; end; if not SakPOP1.login then begin ShowMessage('未经授权访问...'); exit; end; SakPOP1.Init; showMessage( '您有 ' + intToStr( SakPOP1.MsgsCount) + ' 条新邮件'); BtnCancel.Enabled := true; sakPOP1.retrieveAllMessages( SakMsgList1); BtnCancel.Enabled := false; SakPOP1.Disconnect; if SakMsgList1.count > 0 then begin currentMsg := 0; showCurrentMsg; end; StatusBar1.Panels[0].text := '完成。共检索到 ' + intToStr( SakMsgList1.count) + ' 封邮件。'; end; procedure TForm1.ButtonPriorClick(Sender: TObject); begin if currentMsg > 0 then begin dec( currentMsg); showCurrentMsg; end; procedure TForm1.ButtonNextClick(Sender: TObject); begin if currentMsg < SakMsgList1 xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed> 0 then begin comboBoxAttach.items.clear; for i := 0 to msg.AttachedFiles.Count-1 do comboBoxAttach.items.add( msg.AttachedFiles[ i].fileName); comboBoxAttach.enabled := true; comboBoxAttach.itemIndex := 0; buttonSave.enabled := true; end else begin comboBoxAttach.enabled := false; buttonSave.enabled := false; end; procedure TForm1.ButtonSaveClick(Sender: TObject); begin saveDialog1.FileName := comboBoxAttach.text; if saveDialog1.execute then SakMsgList1[ currentMsg].AttachedFiles[ comboBoxAttach.itemIndex].saveToFile( saveDialog1.FileName); end; procedure TForm1.SakPOP1AfterRetrieve(Sender: TObject); begin StatusBar1.Panels[0].text := '正在检索... 已检索到 ' + intToStr( SakMsgList1.count) + ' 封邮件'; end; procedure TForm1.SakPOP1DecodeProgress(Sender: TObject; Percent: Word); begin // ProgressBar1.Position := Percent; end; procedure TForm1.SakPOP1DecodeStart(Sender: TObject; FileName: String; BytesCount: Integer); begin // ProgressBar1.Position := 0; end; procedure TForm1.SakPOP1RetrieveProgress(Sender: TObject; Percent: Word); begin ProgressBar2.Position := Percent; end; procedure TForm1.SakPOP1Error(Sender: TObject; Error: Integer; Msg: String); begin ShowMessage( Msg); end; procedure TForm1.SakPOP1BeforeRetrieve(sender: TObject; id: Word); begin ProgressBar2.Position := 0; end;
633.2KB
文件大小:
评论区