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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usendstatus.~pas

?? 由于工作需要
?? ~PAS
字號:
{*******************************************************}
{                                                       }
{       郵件備份代碼工具                                }
{                                                       }
{       版權所有 (C) 2008                               }
{                                                       }
{       鄭志強 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服務器(' + FMailSendQueue.SmtpServer + ')...');
      Fsmtpcli.Connect;
    except on e: Exception do
      begin
        FErrorFlag := True;
        ShowResult('連接SMTP服務器出錯,' + 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ā)送郵件出錯(' + 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 + '自動刪除文件(' +
            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;
  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), '錯誤', 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.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕成人av| 成人av免费观看| 成人丝袜高跟foot| 欧美日韩不卡一区| 国产精品久久久久影院| 毛片不卡一区二区| 色菇凉天天综合网| 中文字幕免费不卡| 紧缚奴在线一区二区三区| 欧美专区日韩专区| 亚洲色图视频网| 成人午夜碰碰视频| 国产人妖乱国产精品人妖| 奇米精品一区二区三区在线观看| www.亚洲在线| 国产女主播视频一区二区| 久久超碰97中文字幕| 欧美一区三区二区| 亚洲 欧美综合在线网络| 一本一道久久a久久精品 | 日本麻豆一区二区三区视频| aa级大片欧美| 国产精品麻豆视频| 成年人国产精品| 国产精品日韩成人| 成人性生交大片免费看中文网站| 日韩精品中文字幕在线一区| 日本vs亚洲vs韩国一区三区| 在线播放91灌醉迷j高跟美女| 一级日本不卡的影视| 91浏览器入口在线观看| 一区在线中文字幕| 日本久久电影网| 亚洲午夜成aⅴ人片| 欧美日韩久久一区| 欧美tickling挠脚心丨vk| 国产一区二区女| 亚洲福利电影网| 亚洲视频每日更新| 国产精品视频一二三| 制服丝袜av成人在线看| 欧美在线视频你懂得| 欧亚一区二区三区| 欧美日韩一区二区三区不卡| 欧美午夜理伦三级在线观看| 一本大道综合伊人精品热热| 99久久综合精品| 91国产免费看| 欧美日韩一级片在线观看| 欧美二区乱c少妇| 欧美激情综合五月色丁香小说| 欧美午夜一区二区三区免费大片| 91麻豆精品国产自产在线观看一区 | 激情图片小说一区| 中文字幕一区二区三区视频| 在线日韩国产精品| 午夜在线成人av| 日韩精品一区二区三区四区| 国产成人精品亚洲午夜麻豆| 亚洲欧美色图小说| 91精品国产一区二区三区蜜臀| 韩日欧美一区二区三区| 亚洲天堂网中文字| 欧美挠脚心视频网站| 日韩av高清在线观看| 国产一区二区中文字幕| av在线不卡网| 久久伊人中文字幕| 亚洲第四色夜色| 97久久精品人人做人人爽50路| 91麻豆成人久久精品二区三区| 国产91在线|亚洲| 91麻豆国产福利精品| 久久久久久久久久久黄色| 亚洲18影院在线观看| 欧美电影免费观看完整版| 色综合av在线| 91首页免费视频| 亚洲第一久久影院| 国产精品久久久久久久久免费丝袜| 欧美日韩一区二区三区高清| 夫妻av一区二区| 免费不卡在线观看| 18成人在线视频| 精品va天堂亚洲国产| 欧美丰满美乳xxx高潮www| 91网址在线看| 国产精品一区一区三区| 天堂av在线一区| 一区二区三区不卡视频在线观看 | 国产精品综合av一区二区国产馆| 亚洲欧美日韩一区二区 | 精品国产乱码久久久久久免费| 91美女在线看| 成人精品亚洲人成在线| 极品少妇一区二区| 奇米888四色在线精品| 亚洲另类在线制服丝袜| 欧美国产成人精品| 久久久激情视频| 亚洲精品在线观看视频| 91精品国产欧美一区二区18| 欧洲精品中文字幕| 91久久精品一区二区二区| 色婷婷亚洲精品| 99国产一区二区三精品乱码| 成人av在线观| 99视频热这里只有精品免费| 国产精品一区一区| 国产黄色成人av| 精品一区二区日韩| 久久狠狠亚洲综合| 裸体健美xxxx欧美裸体表演| 日韩中文字幕91| 免费观看一级特黄欧美大片| 日韩成人精品在线| 天天综合网 天天综合色| 午夜免费久久看| 亚洲mv大片欧洲mv大片精品| 日韩av在线发布| 亚洲精品乱码久久久久久黑人| 日韩女优制服丝袜电影| 97精品超碰一区二区三区| 国产精品一级在线| 韩国毛片一区二区三区| 亚洲国产综合91精品麻豆| 亚洲私人黄色宅男| 久久久蜜桃精品| 精品国产91亚洲一区二区三区婷婷| 91色九色蝌蚪| 日本黄色一区二区| 成人黄色电影在线 | 日韩av中文字幕一区二区三区| 亚洲狼人国产精品| 亚洲日本电影在线| 国产精品一区二区三区99| 在线观看区一区二| 成人做爰69片免费看网站| 亚洲伦在线观看| 亚洲综合一区二区精品导航| **性色生活片久久毛片| 麻豆成人在线观看| 日韩女优视频免费观看| 国产ts人妖一区二区| 99视频在线观看一区三区| 一本到不卡精品视频在线观看| 欧美日韩精品是欧美日韩精品| 欧美精品18+| 久久久综合激的五月天| 亚洲免费av在线| 美女在线视频一区| 色综合天天综合网国产成人综合天| 欧美性生活久久| 久久影院电视剧免费观看| 成人激情免费视频| 这里只有精品视频在线观看| 精品三级在线观看| 一区二区三区在线播放| 92国产精品观看| 宅男在线国产精品| 亚洲国产精品精华液2区45| 奇米精品一区二区三区在线观看一| 亚洲午夜日本在线观看| 成人午夜伦理影院| 精品人在线二区三区| 成人精品国产一区二区4080 | 99精品欧美一区二区蜜桃免费 | 国产精品每日更新| 亚洲18影院在线观看| 不卡一二三区首页| 欧美videos大乳护士334| 亚洲欧洲av一区二区三区久久| 久久国产精品区| 欧美日韩视频专区在线播放| 中文字幕av一区二区三区高| 精品一区二区在线视频| 欧美色大人视频| 亚洲欧美日韩精品久久久久| 国产一区二区中文字幕| 日韩欧美在线影院| 亚洲va天堂va国产va久| 91国偷自产一区二区开放时间| 亚洲国产精品精华液ab| 精品无码三级在线观看视频| 欧美一区二区国产| 亚洲午夜av在线| 色综合久久六月婷婷中文字幕| 国产精品日韩精品欧美在线| 国产精品自产自拍| 久久香蕉国产线看观看99| 日韩电影一区二区三区| 7777精品伊人久久久大香线蕉 | 国产精品一区二区x88av| 欧美岛国在线观看| 免费欧美在线视频| 欧美日韩dvd在线观看| 一区二区三区在线不卡| 91日韩在线专区| 一区二区三区免费观看| 日本丰满少妇一区二区三区|