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

📄 unit1.pas

📁 Delphi7编程80例(完全版)
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdMessage, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    edt_SMTP: TEdit;
    Label2: TLabel;
    edt_UserName: TEdit;
    Label3: TLabel;
    edt_Psw: TEdit;
    Label4: TLabel;
    edt_Subject: TEdit;
    Label5: TLabel;
    Memo1: TMemo;
    Label6: TLabel;
    edt_File: TEdit;
    Button1: TButton;
    Button2: TButton;
    IdSMTP1: TIdSMTP;
    IdMessage1: TIdMessage;
    OpenDialog1: TOpenDialog;
    Label7: TLabel;
    edt_From: TEdit;
    Label8: TLabel;
    edt_To: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure IdSMTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  // 添加附件
  OpenDialog1.FileName := '';
  OpenDialog1.Filter := '所有文件|*.*';
  if OpenDialog1.Execute then
    begin
      edt_File.Text := OpenDialog1.FileName;
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // 发件人地址
  IdMessage1.From.Address := edt_From.Text;
  // 发件人姓名
  IdMessage1.From.Name := edt_UserName.Text;
  // 收件人地址
  IdMessage1.Recipients.EMailAddresses := edt_To.Text;
  // 主题
  IdMessage1.Subject := edt_Subject.Text;
  // 填写正文
  IdMessage1.Body.Add(Memo1.Text);
  // 添加附件
  TidAttachment.Create(IdMessage1.MessageParts, edt_File.Text);

  // SMTP服务器
  IdSMTP1.Host := edt_SMTP.Text;
  // 账号
  IdSMTP1.Username := edt_UserName.Text;
  // 密码
  IdSMTP1.Password := edt_Psw.Text;
  // 登录时验证身份
  IdSMTP1.AuthenticationType := atLogin;
  // 连接服务器
  IdSMTP1.Connect;
  // 发送邮件
  IdSMTP1.Send(IdMessage1);

end;

procedure TForm1.IdSMTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  ShowMessage('发送完毕!');
  // 连接关闭
  IdSMTP1.Disconnect;
end;

end.

⌨️ 快捷键说明

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