亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? usendstatus.pas

?? 由于工作需要
?? PAS
字號(hào):
{*******************************************************}
{                                                       }
{       郵件備份代碼工具                                }
{                                                       }
{       版權(quán)所有 (C) 2008                               }
{                                                       }
{       鄭志強(qiáng) hnzzq@163.com                            }
{*******************************************************}

unit USendStatus;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OverbyteIcsSmtpProt;

type
  TMailSendQueue = record
    Topic: string;
    Content: string;
    MailAddr: string;
    CCMailAddr: string;
    AttachFiles: string;
    SmtpMailName: string;
    SmtpServer: string;
    SmtpPort: string;
    SmtpUser: string;
    SmtpPass: string;
    TestMail: Boolean;
  end;

  TFrmSendStatus = class(TForm)
    lbl1: TLabel;
    mmo1: TMemo;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  end;

  TSendMailThread = class(TThread)
  private
    Fsmtpcli: TSmtpCli;
    FLogInfo: string;
    FErrorFlag: Boolean;
    FSuccFlag: Boolean;
    FMailSendQueue: TMailSendQueue;

    procedure smtpcl1Command(Sender: TObject; Msg: string);
    procedure smtpcl1RequestDone(Sender: TObject; RqType: TSmtpRequest;
      ErrorCode: Word);
    procedure smtpcl1Response(Sender: TObject; Msg: string);
    procedure SynAddLog();
    procedure AddLog(LogInfo: string);
    procedure SynUpdateStatus();
    procedure UpdateStatus(LogInfo: string);
    procedure SynShowResult();
    procedure ShowResult(LogInfo: string);
  protected
    procedure Execute; override;
  public
    constructor Create(AMailSendQueue: TMailSendQueue);
  end;

var
  FrmSendStatus: TFrmSendStatus;

implementation

uses UMain;

{$R *.dfm}

{ TSendMailThread }

procedure TSendMailThread.AddLog(LogInfo: string);
begin
  FLogInfo := LogInfo;
  Synchronize(SynAddLog);
end;

constructor TSendMailThread.Create(AMailSendQueue: TMailSendQueue);
begin
  inherited Create(true);
  FMailSendQueue := AMailSendQueue;
  Fsmtpcli := TSmtpCli.Create(Application);
  Fsmtpcli.Host := FMailSendQueue.SmtpServer;
  Fsmtpcli.Port := FMailSendQueue.SmtpPort;
  Fsmtpcli.SignOn := FMailSendQueue.SmtpUser;
  Fsmtpcli.FromName := FMailSendQueue.SmtpMailName;
  Fsmtpcli.HdrFrom := FMailSendQueue.SmtpMailName;
  Fsmtpcli.AuthType := smtpAuthAutoSelect;
  Fsmtpcli.Username := FMailSendQueue.SmtpUser;
  Fsmtpcli.Password := FMailSendQueue.SmtpPass;
  Fsmtpcli.HdrPriority := smtpPriorityNormal;
  Fsmtpcli.ConfirmReceipt := False;
  Fsmtpcli.OnCommand := smtpcl1Command;
  Fsmtpcli.OnResponse := smtpcl1Response;
  Fsmtpcli.OnRequestDone := smtpcl1RequestDone;
end;

procedure TSendMailThread.Execute;
var
  TT: Cardinal;
begin
  try
    FreeOnTerminate := True;
    Fsmtpcli.HdrTo := FMailSendQueue.MailAddr;
    Fsmtpcli.HdrCc := FMailSendQueue.CCMailAddr;
    Fsmtpcli.EmailFiles.Text := FMailSendQueue.AttachFiles;
    Fsmtpcli.HdrSubject := FMailSendQueue.Topic;
    Fsmtpcli.RcptName.Clear;
    Fsmtpcli.RcptNameAdd(FMailSendQueue.MailAddr, Fsmtpcli.HdrCc, '');
    Fsmtpcli.MailMessage.Text := FMailSendQueue.Content;
    FErrorFlag := False;
    FSuccFlag := False;
    try
      AddLog('連接SMTP服務(wù)器(' + FMailSendQueue.SmtpServer + ')...');
      Fsmtpcli.Connect;
    except on e: Exception do
      begin
        FErrorFlag := True;
        ShowResult('連接SMTP服務(wù)器出錯(cuò),' + e.Message);
        Exit;
      end;
    end;
    TT := GetTickCount;
    while ((GetTickCount - TT) < 360000) and (not Terminated) do
    begin
      Application.ProcessMessages;
      Sleep(100);
      if FErrorFlag or FSuccFlag then
      begin
        Break;
      end;
    end;
    if FErrorFlag then
    begin
      ShowResult('發(fā)送郵件出錯(cuò)(' + Fsmtpcli.ErrorMessage + ')!');
    end
    else
      if FSuccFlag then
      begin
        if FMailSendQueue.TestMail then
          ShowResult('發(fā)送郵件成功(TO:' + FMailSendQueue.MailAddr + ')')
        else
        begin
          ShowResult('發(fā)送郵件成功(TO:' + FMailSendQueue.MailAddr + '),' + #13#10 + '自動(dòng)刪除文件(' +
            FMailSendQueue.AttachFiles +
            ')!');
          DeleteFile(FMailSendQueue.AttachFiles);
        end;
      end;
  finally
    begin
      if Fsmtpcli.Connected then
        Fsmtpcli.Quit;
      Fsmtpcli.Destroy;
      FrmSendStatus.Close;
//      if FMailSendQueue.TestMail then
//        FrmSendStatus.Close
//      else
//      begin
//        FrmSendStatus.Close;
//      end;
    end;
  end;
end;

procedure TSendMailThread.ShowResult(LogInfo: string);
begin
  FLogInfo := LogInfo;
  Synchronize(SynShowResult);
end;

procedure TSendMailThread.smtpcl1Command(Sender: TObject; Msg: string);
begin
  UpdateStatus('發(fā)送郵件狀態(tài):' + Msg);
  AddLog('>' + msg);
end;

procedure TSendMailThread.smtpcl1RequestDone(Sender: TObject;
  RqType: TSmtpRequest; ErrorCode: Word);
begin
  { For every operation, we display the status }
//  if (ErrorCode > 0) and (ErrorCode < 10000) then
//    AddLog('RequestDone Rq=' + IntToStr(Ord(RqType)) +
//      ' Error=' + Fsmtpcli.ErrorMessage)
//  else
//    AddLog('RequestDone Rq=' + IntToStr(Ord(RqType)) +
//      ' Error=' + IntToStr(ErrorCode));
  if ErrorCode <> 0 then begin
    FErrorFlag := True;
    Exit;
  end;
  case RqType of
    smtpConnect: begin
        if Fsmtpcli.AuthType = smtpAuthNone then
          Fsmtpcli.Helo
        else
          Fsmtpcli.Ehlo;
      end;
    smtpHelo: Fsmtpcli.MailFrom;
    smtpEhlo: Fsmtpcli.Auth;
    smtpAuth: Fsmtpcli.MailFrom;
    smtpMailFrom: Fsmtpcli.RcptTo;
    smtpRcptTo: Fsmtpcli.Data;
    smtpData: Fsmtpcli.Quit;
    smtpQuit:
      begin
        if not FErrorFlag then
          FSuccFlag := True;
      end;
  end;
end;

procedure TSendMailThread.smtpcl1Response(Sender: TObject; Msg: string);
begin
  AddLog('<' + msg);
end;

procedure TSendMailThread.SynAddLog;
var
  logfile: TextFile;
begin
  FrmSendStatus.mmo1.Lines.Add(FormatDateTime('hh:nn:ss', Now) + ' ' + FLogInfo);
  FrmSendStatus.mmo1.Update;
  DebugMode := True;
  if DebugMode then
  begin
    try
      if not DirectoryExists(Extractfilepath(Application.ExeName) + '\Log') then
      begin
        if not createdir(Extractfilepath(Application.ExeName) + '\Log') then
          exit;
      end;
      AssignFile(logfile, Extractfilepath(Application.ExeName) + '\Log\' + formatDatetime('yyyymmdd', now) +
        '.log');
      if not FileExists(Extractfilepath(Application.ExeName) + '\Log\' + formatDatetime('yyyymmdd', now) + '.log') then
        Rewrite(logfile)
      else
        reset(logfile);
      append(logfile);
      Writeln(logfile, DateTimeToStr(Now) + ':' + FLogInfo);
      closefile(logfile);
    except
      exit;
    end;
  end;
end;

procedure TSendMailThread.SynShowResult;
begin
  if FErrorFlag then
    MessageBox(FrmSendStatus.Handle, PChar(FLogInfo), '錯(cuò)誤', MB_OK or MB_ICONERROR)
  else
    MessageBox(FrmSendStatus.Handle, PChar(FLogInfo), '提示', MB_OK or MB_ICONINFORMATION);
end;

procedure TSendMailThread.SynUpdateStatus;
begin
  FrmSendStatus.lbl1.Caption := FLogInfo;
  FrmSendStatus.lbl1.Update;
end;

procedure TSendMailThread.UpdateStatus(LogInfo: string);
begin
  FLogInfo := LogInfo;
  Synchronize(SynUpdateStatus);
end;

procedure TFrmSendStatus.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do
    exStyle := exStyle or WS_EX_APPWINDOW;
end;

procedure TFrmSendStatus.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧免费全集观看| 国产精品主播直播| 蜜桃精品视频在线| 国产久卡久卡久卡久卡视频精品| 成人午夜视频福利| 欧美三级一区二区| 精品免费日韩av| 国产精品国产自产拍高清av王其| 亚洲高清视频中文字幕| 国内不卡的二区三区中文字幕 | 欧美精品日韩一本| 久久久亚洲午夜电影| 亚洲精品中文在线影院| 精品一区二区日韩| 91首页免费视频| 日韩精品中午字幕| 亚洲美女偷拍久久| 国产一区二区三区久久悠悠色av| 色94色欧美sute亚洲13| 亚洲精品一区二区三区香蕉 | 欧美三级三级三级| 久久免费午夜影院| 午夜婷婷国产麻豆精品| 国产白丝网站精品污在线入口 | 男人的j进女人的j一区| 欧美精品久久一区| 亚洲欧洲av色图| 国产综合色产在线精品 | 日本不卡视频在线观看| 99在线热播精品免费| 精品少妇一区二区三区视频免付费| 亚洲人成网站色在线观看| 国产在线国偷精品产拍免费yy| 欧美性大战xxxxx久久久| 久久人人爽人人爽| 日韩成人伦理电影在线观看| 99精品桃花视频在线观看| 欧美zozozo| 日韩福利电影在线| 91黄色免费版| 国产精品久久久久7777按摩| 理论片日本一区| 欧美图区在线视频| 国产精品灌醉下药二区| 国内精品伊人久久久久影院对白| 欧美午夜精品久久久| 国产精品二三区| 国产高清视频一区| 欧美xxxxxxxx| 人人狠狠综合久久亚洲| 欧美亚洲尤物久久| 一区二区三区在线免费播放| www.视频一区| 国产精品理伦片| 成人免费观看视频| 国产午夜精品一区二区三区嫩草 | 国产午夜亚洲精品午夜鲁丝片| 奇米色777欧美一区二区| 欧美视频中文字幕| 有坂深雪av一区二区精品| 99亚偷拍自图区亚洲| 国产精品久久久久久福利一牛影视| 久草精品在线观看| 日韩精品一区二区三区在线观看| 亚洲h精品动漫在线观看| 在线日韩国产精品| 亚洲一级二级三级| 欧美日产国产精品| 香蕉加勒比综合久久| 91精品办公室少妇高潮对白| 亚洲人成在线观看一区二区| www.日韩av| 国产精品成人免费| 99re成人在线| 日韩毛片精品高清免费| 一本一道久久a久久精品| 亚洲视频免费观看| 91网页版在线| 亚洲最大成人综合| 欧美日韩国产成人在线91| 日本sm残虐另类| 精品久久久久久久久久久久久久久| 蜜桃一区二区三区四区| 日韩欧美激情四射| 国模少妇一区二区三区| 国产欧美日韩另类视频免费观看 | 亚洲免费在线播放| 在线精品国精品国产尤物884a| 亚洲国产精品久久久久秋霞影院| 欧美精品在欧美一区二区少妇| 免费观看成人av| 一区二区三区四区中文字幕| 欧美三级电影网| 奇米在线7777在线精品| 久久人人爽爽爽人久久久| av在线综合网| 亚洲高清免费一级二级三级| 日韩精品一区在线观看| 丰满岳乱妇一区二区三区| 亚洲色图制服丝袜| 欧美三级乱人伦电影| 久久精品国产久精国产爱| 日本一区二区三区视频视频| 91视频在线观看免费| 亚洲18女电影在线观看| 欧美tickling挠脚心丨vk| av不卡免费在线观看| 午夜欧美电影在线观看| 精品欧美一区二区三区精品久久| 韩国成人在线视频| 亚洲人成精品久久久久久| 欧美日本在线播放| 国产一区二区三区四区在线观看 | 欧美日韩在线免费视频| 狠狠色丁香久久婷婷综| 综合久久一区二区三区| 欧美一区二区视频在线观看2020| 国产99久久久精品| 亚洲影院理伦片| 国产亚洲欧美激情| 欧美日韩亚洲不卡| 国产超碰在线一区| 图片区日韩欧美亚洲| 欧美韩日一区二区三区四区| 欧美日韩免费不卡视频一区二区三区 | 国产成人av一区二区三区在线 | 欧美少妇xxx| 国产精品1区二区.| 亚洲一区二区三区免费视频| 久久久国产午夜精品| 欧美日韩一区二区欧美激情| 国产福利一区二区三区| 午夜在线成人av| 国产精品久久久久久久久免费樱桃 | 亚洲国产成人自拍| 欧美一区二区在线免费播放 | 亚洲国产精品影院| 国产精品美日韩| 欧美一级搡bbbb搡bbbb| 色天使久久综合网天天| 国产综合色产在线精品| 五月天激情综合网| 亚洲欧洲精品一区二区三区| 精品sm在线观看| 欧美丰满少妇xxxxx高潮对白| 99精品欧美一区二区三区小说| 精品一区二区三区在线观看| 亚洲午夜私人影院| 国产精品国产自产拍高清av王其| 欧美成人猛片aaaaaaa| 欧美日韩国产中文| 色婷婷久久久久swag精品| 成人一区二区三区在线观看| 老司机精品视频导航| 亚洲超碰精品一区二区| 一区二区三区四区在线播放 | 色综合久久综合网97色综合| 丁香亚洲综合激情啪啪综合| 日本中文字幕不卡| 亚洲愉拍自拍另类高清精品| 综合自拍亚洲综合图不卡区| 日本一区二区免费在线观看视频 | 国产九色精品成人porny| 另类欧美日韩国产在线| 日韩成人av影视| 天天影视网天天综合色在线播放| 亚洲午夜久久久久| 亚洲一区二区五区| 综合久久给合久久狠狠狠97色| 国产精品美女久久久久久| 久久久99精品久久| 久久久久国产精品厨房| 久久久久久久久蜜桃| 久久精品在线观看| 久久久久久夜精品精品免费| 精品不卡在线视频| 久久品道一品道久久精品| 亚洲精品在线三区| 久久久久久久久久久久久夜| 久久久久久一二三区| 国产三级精品在线| 国产精品久久久久久久久快鸭| 国产精品伦理一区二区| 1024成人网| 一区二区在线观看视频| 一区二区三区免费看视频| 亚洲一区二区三区中文字幕| 亚洲a一区二区| 免费精品视频最新在线| 精品一区二区三区影院在线午夜 | 国产精品久久久久婷婷| 国产精品久久久久婷婷二区次| 中文字幕在线播放不卡一区| 中文字幕在线一区| 一区二区三区视频在线看| 亚洲成人av一区二区| 日本成人中文字幕| 国产综合色在线| av亚洲产国偷v产偷v自拍| 色综合天天综合网国产成人综合天|