⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmssendmail.pas

📁 一个简单的同学录软件
💻 PAS
字号:
unit FrmSSendMail;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ComCtrls, Psock, NMsmtp, rcdstud,
  TFlatMemoUnit, TFlatEditUnit,xutils;

type
  TfmSSendmail = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Smtp: TNMSMTP;
    STB: TStatusBar;
    strTitle: TFlatEdit;
    Bevel1: TBevel;
    Mbody: TFlatMemo;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure SmtpSuccess(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmSSendmail: TfmSSendmail;

implementation

uses FrmJbxx, frmMain, FrmSmtpSetup;

{$R *.DFM}

procedure TfmSSendmail.BitBtn2Click(Sender: TObject);
begin
  self.visible := false;
end;

procedure TfmSSendmail.FormHide(Sender: TObject);
begin
  fmssendmail.strTitle.text:='';
  fmssendmail.Mbody.Lines.Clear ;
  
  fmmain.enabled := true;
  fmmain.visible := true;
end;

procedure TfmSSendmail.BitBtn1Click(Sender: TObject);
var
  smtpfile: file of SmtpSetup;
  rcdsmtp: SmtpSetup;
  temfn: string;
begin
//msgbox('hihi');
  stb.Panels[2].Text := '';
  if strtitle.Text <> '' then
  begin
    temfn := 'smtpini.dat';
    if fileExists(temfn) then
    begin

      if smtp.Connected then smtp.Disconnect;
      assignfile(smtpfile, temfn);
      reset(smtpfile);
      stb.Panels[2].Text := '正在读取SMTP设置...';
      read(smtpfile, rcdsmtp);
      closefile(smtpfile);
      smtp.UserID := rcdsmtp.strUserId;
      smtp.Host := rcdsmtp.strSmtp;
      smtp.Port := strtoint(rcdsmtp.strport);
      try
        begin
          smtp.Connect;
          stb.Panels[2].Text := '正在联接邮件服务器...';
        end;
      except
        begin
          stb.Panels[2].text := '不能连接邮件服务器!';
          exit;
        end;
      end;
      smtp.PostMessage.FromAddress := rcdsmtp.strEmail;
      smtp.PostMessage.FromName := rcdsmtp.strUserId;
      smtp.PostMessage.Subject := strtitle.Text;
      smtp.PostMessage.ToAddress.Add(fmmain.arrstud[strtoint(stb.panels[0].text)].b_email);
      mbody.Lines.Add ('此邮件用天涯海角同学录发送.');
      mbody.Lines.Add ('下载地址:http://pcode.go.163.com');
      smtp.PostMessage.Body.Assign(mbody.lines);
      try
        try
          stb.Panels[2].Text := '正在发送邮件...';
          smtp.SendMail;
          stb.panels[2].Text :='发送成功!';

        finally
          smtp.Disconnect;
        end;
      except
        begin
          stb.Panels[2].Text := '发送邮件失败';
          exit;
        end;
      end;

    end
    else
    begin
    showmessage('请先设置SMTP');
    self.Visible :=false;
    fmsmtpsetup.visible:=true;
    end;
  end
  else
  begin
  msgbox('请填写完整信息');
  end;
end;

procedure TfmSSendmail.SmtpSuccess(Sender: TObject);
begin
  stb.Panels[2].Text := '成功发送已断开与邮件服务器的联接';
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -