hai,大家好,我是夢尋,說來這應算是我的第二次發帖了,這回小夢給大家帶來的是一個發信機,不知大家喜不喜歡。如果不滿意的話,不要緊,您就狠狠的訓夢尋一頓。Ok,如果您認為還可以的話請別忘了投夢尋一票哦,小夢先在這說聲謝謝了。^_^
ok,還是那句老話,轉入正題,現在我們就來做一個發信機。
首先我們應在工程中加入以下元件。
組件名 caption 關聯的組件
Label1 郵件服務器地址: Edit1
Label2 帳號名: Edit2
Label3 端口號: Edit3
Label4 收信群體服務器地址:Edit4
Label5 收信者名稱: ComboBox1
Label6 信件主題信息: Edit5
Label7 所要發送信件: Edit6
Label8 信件附件路徑: ListBox1
Label9 發信顯示的信息名: Edit8
Label10 發信人 Email 地址:Edit9
CheckBox1 窮舉式發信
Button1 開始發信
Button2 讀入字典文件
Button3 ... Edit6
Button4 增加/ ListBox
Button5 清除 ListBox
Panel1
Panel2
StatusBar1
OpenDialog1
NMSMTP1
ListBox1
好的,當我們加完了以上所有的組件後,並編好位置後,接下來我們就可以把以下代碼以覆蓋的形式拷入Delphi 的代碼編輯欄中。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Psock, NMsmtp, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
NMSMTP1: TNMSMTP;
Panel1: TPanel;
Label9: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Label10: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit6: TEdit;
Edit5: TEdit;
Button3: TButton;
Button4: TButton;
Panel2: TPanel;
Label1: TLabel;
Label4: TLabel;
Edit4: TEdit;
ComboBox1: TComboBox;
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
Label5: TLabel;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
StatusBar1: TStatusBar;
OpenDialog1: TOpenDialog;
ListBox1: TListBox;
Edit1: TEdit;
Button5: TButton;
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure NMSMTP1Success(Sender: TObject);
procedure NMSMTP1Failure(Sender: TObject);
procedure SendNextmail(var datteinc:integer);
procedure Button1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure NMSMTP1ConnectionFailed(Sender: TObject);
procedure NMSMTP1ConnectionRequired(var Handled: Boolean);
procedure NMSMTP1InvalidHost(var Handled: Boolean);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Edit8KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit9KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit6KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure helpshow;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
sendsuc,sendfal,cursennum,totaco:integer;
connal,startsen:boolean;
implementation
{$R *.DFM}
procedure TForm1.helpshow;
begin
showmessage(
#13+┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓+#13+
┃ 在使用本發信機發信時,應先作完以下幾項: ┃+#13+
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫+#13+
┃ 1 在收信地址欄中輸入收信群體的地址 ┃+#13+
┃ 例:收信體為 [email protected] 則應在其中填入:yyy.nnn ┃+#13+
┃ ┃+#13+
┃ 2 由於本發信機僅是個范例故而不具備有窮舉發信功能,因此您應┃+#13+
┃ 在收信欄中手動輸入收信者名或讀入一字典文件,格式舉例如下┃+#13+
┃ 例,發給 xx1、xx2 則每輸完一個,按回車鍵一次) ┃+#13+
┃ &n