?? unit21.~pas
字號:
unit Unit21;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Psock, NMsmtp, Buttons;
type
TForm21 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
BitBtn3: TBitBtn;
NMSMTP1: TNMSMTP;
OpenDialog1: TOpenDialog;
Memo1: TMemo;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
StatusBar1: TStatusBar;
Button2: TButton;
SpeedButton1: TSpeedButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure listbox1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton1Click(Sender: TObject);
procedure nmsmtp1authentication(var Handled: Boolean);
procedure incomplete(var handled: Boolean; hiType: Integer);
procedure connect(Sender: TObject);
procedure Sendstart(Sender: TObject);
procedure encode(Filename: String);
procedure encodeend(Filename: String);
procedure nmsmtpFailed(Sender: TObject);
procedure Success(Sender: TObject);
procedure disconnect(Sender: TObject);
procedure connectfailed(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form21: TForm21;
implementation
{$R *.dfm}
procedure TForm21.FormCreate(Sender: TObject);
begin
statusbar1.Panels.Add;
radiobutton1.Checked:=true;
end;
procedure TForm21.BitBtn3Click(Sender: TObject);
begin
if edit1.Text<>''then
begin
if nmsmtp1.Connected then
nmsmtp1.Disconnect
else
begin
nmsmtp1.Host:=edit1.Text ;
nmsmtp1.UserID:=edit6.Text;
try
nmsmtp1.Connect;
statusbar1.panels[0].text:='連接成功!';
except
statusbar1.panels[0].text:='連接失敗!';
end;
end;
end
else
statusbar1.panels[0].text:='主機不能為空!';
end;
procedure TForm21.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
listbox1.items.add (opendialog1.filename);
end;
procedure TForm21.listbox1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_insert then
if opendialog1.Execute then
listbox1.items.add(opendialog1.FileName);
if key=vk_delete then
listbox1.items.delete(listbox1.itemindex);
end;
procedure TForm21.SpeedButton1Click(Sender: TObject);
begin
if nmsmtp1.Connected then
begin
case radiogroup1.ItemIndex of
0:nmsmtp1.EncodeType:=uumime ;
1:nmsmtp1.EncodeType:=uucode ;
end;
nmsmtp1.PostMessage.FromAddress:=edit2.Text;
nmsmtp1.PostMessage.toaddress.Text:=edit3.Text;
nmsmtp1.PostMessage.Body.Text:=memo1.Text;
nmsmtp1.PostMessage.Attachments.Text:=listbox1.items.Text;
nmsmtp1.PostMessage.Subject:=edit4.Text;
nmsmtp1.sendmail;
end
else
statusbar1.Panels[0].Text:='警告:沒有連上任何服務器!'
end;
{procedure TForm21.Failed(Sender: TObject);
var
s:string;
begin
s:=nmsmtp1.UserID;
if inputquery('authentication failed','',s)
end; }
procedure TForm21.nmsmtp1authentication(var Handled: Boolean);
var
s:string;
begin
s:=nmsmtp1.UserID;
if inputquery('authentication failed','invalid user id.new user id:',s)then
begin
nmsmtp1.UserID:=s;
handled:=true;
end;
end;
procedure TForm21.incomplete(var handled: Boolean; hiType: Integer);
var
s:string;
begin
case hitype of
hifromaddress:
if inputquery('missing from address','enter from address:',s)then
begin
nmsmtp1.PostMessage.FromAddress:=s;
handled:=true;
end;
hitoaddress:
if inputquery('missing to address','enter to address:',s)then
begin
nmsmtp1.PostMessage.toAddress.Text:=s;
handled:=true;
end;
end;
end;
procedure TForm21.connect(Sender: TObject);
begin
statusbar1.Panels[0].Text:='正在連接!';
end;
procedure TForm21.Sendstart(Sender: TObject);
begin
statusbar1.Panels[0].Text:='開始發送!';
end;
procedure TForm21.encode(Filename: String);
begin
statusbar1.Panels[0].Text:='開始解碼!';
end;
procedure TForm21.encodeend(Filename: String);
begin
statusbar1.Panels[0].Text:='解碼完畢!';
end;
procedure TForm21.nmsmtpFailed(Sender: TObject);
begin
statusbar1.Panels[0].Text:='由于某些原因,郵件發送失敗,請檢查網絡后再重發!';
end;
procedure TForm21.Success(Sender: TObject);
begin
statusbar1.Panels[0].Text:='郵件已經成功發送!';
end;
procedure TForm21.disconnect(Sender: TObject);
begin
statusbar1.Panels[0].Text:='連接斷開!';
end;
procedure TForm21.connectfailed(Sender: TObject);
begin
statusbar1.Panels[0].Text:='連接失敗!';
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -