📄 mailsend.pas
字号:
unit MailSend;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, IdMessage,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP,Theme;
type
TFrm_Send = class(TBaseForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
GroupBox2: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
SpeedButton1: TSpeedButton;
Memo1: TMemo;
Panel1: TPanel;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
CheckBox1: TCheckBox;
SpeedButton4: TSpeedButton;
OpenDialog1: TOpenDialog;
ADOSend: TADODataSet;
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
ADOSMTP: TADODataSet;
GroupBox3: TGroupBox;
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
UName,Upwd,UEmail,ServerName:string;
UPort:Integer;
{ Private declarations }
procedure MailPost;
procedure Send;
public
{ Public declarations }
end;
var
Frm_Send: TFrm_Send;
implementation
uses SelInceptPer,Main,DM;
{$R *.dfm}
procedure TFrm_Send.SpeedButton4Click(Sender: TObject);
begin
Frm_SelIncept.ShowModal;
end;
procedure TFrm_Send.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Edit4.Text:=OpenDialog1.FileName;
TIdAttachment.Create(IdMessage1.MessageParts,OpenDialog1.FileName);
end;
end;
procedure TFrm_Send.SpeedButton3Click(Sender: TObject);
begin
Close;
end;
procedure TFrm_Send.FormShow(Sender: TObject);
begin
ADOSend.Close;
ADOSend.Open;
with ADOSMTP do
begin
Open;
UName:=FieldByName('MR_Name').AsString;
Upwd:=FieldByName('MR_Pwd').AsString;
UEmail:=FieldByName('MR_Email').AsString;
ServerName:=FieldByName('MR_ServerName').AsString;
UPort:=FieldByName('MR_Port').AsInteger;
end;
end;
procedure TFrm_Send.MailPost;
begin
ADOSend.Append;
ADOSend.FieldByName('MR_InCept').AsString:=Edit1.Text;
ADOSend.FieldByName('MR_Copy').AsString:=Edit2.Text;
ADOSend.FieldByName('MR_Tile').AsString:=Edit3.Text;
ADOSend.FieldByName('MR_Text').AsString:=Memo1.Text;
ADOSend.FieldByName('MR_Date').AsDateTime:=Now;
ADOSend.FieldByName('MR_affix').AsString:=Edit4.Text;
ADOSend.UpdateBatch;
end;
procedure TFrm_Send.SpeedButton2Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
Application.MessageBox('收件人不能为空!','明日科技');
Edit1.SetFocus;
Exit;
end;
if Edit3.Text='' then
begin
Application.MessageBox('主题不能为空!','明日科技');
Edit3.SetFocus;
Exit;
end;
if Memo1.Text='' then
begin
Application.MessageBox('邮件正文不能为空','明日科技');
Memo1.SetFocus;
Exit;
end;
if CheckBox1.Checked then
MailPost;
Send;
end;
procedure TFrm_Send.Send;
begin
with IdMessage1 do
begin
Body.Assign(Memo1.Lines);//邮件的主体
From.Text:=UEmail;
ReplyTo.EMailAddresses:=UEmail;
Subject:=Edit3.Text;
CCList.EMailAddresses:=Edit2.Text;
IdSMTP1.Username:=UName;
IdSMTP1.Password:=Upwd;
IdSMTP1.Host:=ServerName;
IdSMTP1.Port:=UPort;
IdSMTP1.Connect;
end;
try
IdSMTP1.Send(IdMessage1);
except
IdSMTP1.Disconnect;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -