unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdBaseComponent, IdMessage;type TForm1 = class(TForm) IdMsgSend: TIdMessage; SMTP: TIdSMTP; mmContent: TMemo; Label1: TLabel; edtTo: TEdit; Label6: TLabel; Label5: TLabel; Label4: TLabel; edtFrom: TEdit; edtSubject: TEdit; Button1: TButton; username: TEdit; password: TEdit; Label2: TLabel; Label3: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); begin with IdMsgSend do begin Body.Assign(mmContent.Lines); {信件内容} From.Text := edtfrom.Text; {发信人地址} Recipients.EMailAddresses := edtTo.Text; { To: header 收信人地址} Subject := edtSubject.Text; { Subject: header 信件标题} Priority := TIdMessagePriority(2); { Message Priority 发送级别} CCList.EMailAddresses := ''; {CC抄送} BccList.EMailAddresses := ''; {BBC密送} {We set the recipient to the From E-Mail address } //ReceiptRecipient.Text := From.Text; {indicate that there is no receipt recipiant} ReceiptRecipient.Text := ''; end; //SMTP.AuthenticationType := atNone; SMTP.AuthenticationType := atLogin; {Simple Login 需要验证} SMTP.UserID := username.text; SMTP.Password := Password.text; {General setup} SMTP.Host := 'smtp.sina.com.cn'; SMTP.Port := 25; {now we send the message} SMTP.Connect; try SMTP.Send(IdMsgSend); finally SMTP.Disconnect; end; end;end.
xiaoxiao197821(洪飞),如要发附件呢?
{******************************************************** * ;邮件发送程序程序 * ;作者:金属狂人 * ;2002.12.17 * ;email:[email protected] * * *********************************************************} unit Semail;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ComCtrls, Psock, NMsmtp, Gauges;type Ts_frm = class(TForm) Label1: TLabel; BitBtn1: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Memo1: TMemo; ProgressBar1: TProgressBar; GroupBox1: TGroupBox; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; BitBtn5: TBitBtn; OpenDialog1: TOpenDialog; NMSMTP1: TNMSMTP; StatusBar1: TStatusBar; ListBox1: TListBox; ComboBox1: TComboBox; procedure BitBtn1Click(Sender: TObject); procedure NMSMTP1AuthenticationFailed(var Handled: Boolean); procedure BitBtn5Click(Sender: TObject); procedure ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure BitBtn3Click(Sender: TObject); procedure NMSMTP1HeaderIncomplete(var handled: Boolean; hiType: Integer); procedure NMSMTP1Connect(Sender: TObject); procedure NMSMTP1EncodeStart(Filename: String); procedure NMSMTP1EncodeEnd(Filename: String); procedure NMSMTP1Disconnect(Sender: TObject); procedure NMSMTP1SendStart(Sender: TObject); procedure NMSMTP1Failure(Sender: TObject); procedure NMSMTP1ConnectionFailed(Sender: TObject); procedure NMSMTP1Success(Sender: TObject); procedure NMSMTP1PacketSent(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var s_frm: Ts_frm;implementationuses help;{$R *.dfm} //连接 procedure Ts_frm.BitBtn1Click(Sender: TObject); begin if Combobox1.Text <>'' then begin if NMSMTP1.Connected then NMSMTP1.Disconnect else begin NMSMTP1.Host :=Combobox1.Text; NMSMTP1.UserID :=Edit2.Text ; try NMSMTP1.Connect ; StatusBar1.Panels[0].Text :='Connected!'; except StatusBar1.Panels[0].Text :='Connect Failed!'; end; end; end else StatusBar1.Panels[0].Text :='Warning:The Host is blank!'; end; procedure Ts_frm.NMSMTP1AuthenticationFailed(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 Ts_frm.BitBtn5Click(Sender: TObject); begin //OpenDialog1.Filter :='所有文件|*.*'; if OpenDialog1.Execute then Listbox1.Items.Add(OpenDialog1.FileName); end; //附件列表 procedure Ts_frm.ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_DELETE then ListBox1.Items.Delete(ListBox1.ItemIndex) else if key=VK_INSERT then if OpenDialog1.Execute then listbox1.Items.Add(OpenDialog1.FileName); end;procedure Ts_frm.BitBtn3Click(Sender: TObject); begin if NMSMTP1.Connected then begin NMSMTP1.PostMessage.FromAddress := Edit4.Text ; NMSMTP1.PostMessage.ToAddress .text := Edit3.text; NMSMTP1.PostMessage.Body.text := Memo1.Text ; NMSMTP1.PostMessage.Attachments.Text := ListBox1.Items.Text ;{发送列表中的附件} NMSMTP1.PostMessage.subject := Edit5.Text ; NMSMTP1.SendMail
end else //showmessage('错误!'); //StatusBar1.Panels.Add; StatusBar1.panels[0].text :='Warning:There is no Server!' ; // messagedlg('请先连接...',mterror,[mbok],0); end;procedure Ts_frm.NMSMTP1HeaderIncomplete(var handled: Boolean; hiType: Integer); var s:string; begin case hiType of hiFromAddress: if InputQuery('Missing From Address','Input From Address',s) then begin NMSMTP1.PostMessage.FromAddress :=s; handled:=true; end; hiToAddress: if InputQuery('Missing To Address','Input To Address',s) then begin NMSMTP1.PostMessage.ToAddress.Text :=s; handled:=true; end; end;end;procedure Ts_frm.NMSMTP1Connect(Sender: TObject); begin StatusBar1.panels[0].text :='Connectting......!' ;end;procedure Ts_frm.NMSMTP1EncodeStart(Filename: String); begin StatusBar1.panels[0].text :='Encoding...'; end;procedure Ts_frm.NMSMTP1EncodeEnd(Filename: String); begin StatusBar1.panels[0].text :='Encode End!'; end;procedure Ts_frm.NMSMTP1Disconnect(Sender: TObject); begin StatusBar1.panels[0].text :='Disconnect!'; end;procedure Ts_frm.NMSMTP1SendStart(Sender: TObject); begin StatusBar1.panels[0].text :='Sending email!'; end;procedure Ts_frm.NMSMTP1Failure(Sender: TObject); begin StatusBar1.panels[0].text :='Failure,Please Check NetWork!'; end;procedure Ts_frm.NMSMTP1ConnectionFailed(Sender: TObject); begin StatusBar1.panels[0].text :='Connect failure!'; end;procedure Ts_frm.NMSMTP1Success(Sender: TObject); begin StatusBar1.panels[0].text :='Send Succeed!'; ProgressBar1.Position := 0;end;procedure Ts_frm.NMSMTP1PacketSent(Sender: TObject); var Percent:integer; begin if NMSMTP1.BytesTotal>0 then Percent := Round(NMSMTP1.BytesSent * 100.0 / NMSMTP1.BytesTotal) else Percent := 0; ProgressBar1.Position := Percent; // Status.Caption := '发送数据'; end;procedure Ts_frm.BitBtn4Click(Sender: TObject); begin help_frm.Showmodal; end;procedure Ts_frm.FormCreate(Sender: TObject); begin if Edit4.Text<>'' then Memo1.Lines.Add(' '+'发件人:'+edit4.Text +' '+datetostr(date())+' '+timetostr(time())); end;end.
告诉我你的email
我个你发去
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent, IdMessage;type
TForm1 = class(TForm)
IdMsgSend: TIdMessage;
SMTP: TIdSMTP;
mmContent: TMemo;
Label1: TLabel;
edtTo: TEdit;
Label6: TLabel;
Label5: TLabel;
Label4: TLabel;
edtFrom: TEdit;
edtSubject: TEdit;
Button1: TButton;
username: TEdit;
password: TEdit;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
with IdMsgSend do
begin
Body.Assign(mmContent.Lines); {信件内容}
From.Text := edtfrom.Text; {发信人地址}
Recipients.EMailAddresses := edtTo.Text; { To: header 收信人地址}
Subject := edtSubject.Text; { Subject: header 信件标题}
Priority := TIdMessagePriority(2); { Message Priority 发送级别}
CCList.EMailAddresses := ''; {CC抄送}
BccList.EMailAddresses := ''; {BBC密送}
{We set the recipient to the From E-Mail address }
//ReceiptRecipient.Text := From.Text;
{indicate that there is no receipt recipiant}
ReceiptRecipient.Text := '';
end;
//SMTP.AuthenticationType := atNone;
SMTP.AuthenticationType := atLogin; {Simple Login 需要验证}
SMTP.UserID := username.text;
SMTP.Password := Password.text; {General setup}
SMTP.Host := 'smtp.sina.com.cn';
SMTP.Port := 25; {now we send the message}
SMTP.Connect;
try
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
end;end.
*
;邮件发送程序程序 *
;作者:金属狂人 *
;2002.12.17 *
;email:[email protected] *
*
*********************************************************}
unit Semail;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Psock, NMsmtp, Gauges;type
Ts_frm = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Memo1: TMemo;
ProgressBar1: TProgressBar;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn5: TBitBtn;
OpenDialog1: TOpenDialog;
NMSMTP1: TNMSMTP;
StatusBar1: TStatusBar;
ListBox1: TListBox;
ComboBox1: TComboBox;
procedure BitBtn1Click(Sender: TObject);
procedure NMSMTP1AuthenticationFailed(var Handled: Boolean);
procedure BitBtn5Click(Sender: TObject);
procedure ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn3Click(Sender: TObject);
procedure NMSMTP1HeaderIncomplete(var handled: Boolean;
hiType: Integer);
procedure NMSMTP1Connect(Sender: TObject);
procedure NMSMTP1EncodeStart(Filename: String);
procedure NMSMTP1EncodeEnd(Filename: String);
procedure NMSMTP1Disconnect(Sender: TObject);
procedure NMSMTP1SendStart(Sender: TObject);
procedure NMSMTP1Failure(Sender: TObject);
procedure NMSMTP1ConnectionFailed(Sender: TObject);
procedure NMSMTP1Success(Sender: TObject);
procedure NMSMTP1PacketSent(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
s_frm: Ts_frm;implementationuses help;{$R *.dfm}
//连接
procedure Ts_frm.BitBtn1Click(Sender: TObject);
begin
if Combobox1.Text <>'' then begin
if NMSMTP1.Connected then
NMSMTP1.Disconnect
else begin
NMSMTP1.Host :=Combobox1.Text;
NMSMTP1.UserID :=Edit2.Text ;
try
NMSMTP1.Connect ;
StatusBar1.Panels[0].Text :='Connected!';
except
StatusBar1.Panels[0].Text :='Connect Failed!';
end;
end;
end else
StatusBar1.Panels[0].Text :='Warning:The Host is blank!';
end;
procedure Ts_frm.NMSMTP1AuthenticationFailed(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 Ts_frm.BitBtn5Click(Sender: TObject);
begin
//OpenDialog1.Filter :='所有文件|*.*';
if OpenDialog1.Execute then
Listbox1.Items.Add(OpenDialog1.FileName);
end;
//附件列表
procedure Ts_frm.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_DELETE then
ListBox1.Items.Delete(ListBox1.ItemIndex)
else if key=VK_INSERT then
if OpenDialog1.Execute then
listbox1.Items.Add(OpenDialog1.FileName);
end;procedure Ts_frm.BitBtn3Click(Sender: TObject);
begin
if NMSMTP1.Connected then begin
NMSMTP1.PostMessage.FromAddress := Edit4.Text ;
NMSMTP1.PostMessage.ToAddress .text := Edit3.text;
NMSMTP1.PostMessage.Body.text := Memo1.Text ;
NMSMTP1.PostMessage.Attachments.Text := ListBox1.Items.Text ;{发送列表中的附件}
NMSMTP1.PostMessage.subject := Edit5.Text ;
NMSMTP1.SendMail
end else
//showmessage('错误!');
//StatusBar1.Panels.Add;
StatusBar1.panels[0].text :='Warning:There is no Server!' ;
// messagedlg('请先连接...',mterror,[mbok],0);
end;procedure Ts_frm.NMSMTP1HeaderIncomplete(var handled: Boolean;
hiType: Integer);
var
s:string;
begin
case hiType of
hiFromAddress:
if InputQuery('Missing From Address','Input From Address',s) then
begin
NMSMTP1.PostMessage.FromAddress :=s;
handled:=true;
end;
hiToAddress:
if InputQuery('Missing To Address','Input To Address',s) then
begin
NMSMTP1.PostMessage.ToAddress.Text :=s;
handled:=true;
end;
end;end;procedure Ts_frm.NMSMTP1Connect(Sender: TObject);
begin
StatusBar1.panels[0].text :='Connectting......!' ;end;procedure Ts_frm.NMSMTP1EncodeStart(Filename: String);
begin
StatusBar1.panels[0].text :='Encoding...';
end;procedure Ts_frm.NMSMTP1EncodeEnd(Filename: String);
begin
StatusBar1.panels[0].text :='Encode End!';
end;procedure Ts_frm.NMSMTP1Disconnect(Sender: TObject);
begin
StatusBar1.panels[0].text :='Disconnect!';
end;procedure Ts_frm.NMSMTP1SendStart(Sender: TObject);
begin
StatusBar1.panels[0].text :='Sending email!';
end;procedure Ts_frm.NMSMTP1Failure(Sender: TObject);
begin
StatusBar1.panels[0].text :='Failure,Please Check NetWork!';
end;procedure Ts_frm.NMSMTP1ConnectionFailed(Sender: TObject);
begin
StatusBar1.panels[0].text :='Connect failure!';
end;procedure Ts_frm.NMSMTP1Success(Sender: TObject);
begin
StatusBar1.panels[0].text :='Send Succeed!';
ProgressBar1.Position := 0;end;procedure Ts_frm.NMSMTP1PacketSent(Sender: TObject);
var
Percent:integer;
begin if NMSMTP1.BytesTotal>0 then
Percent := Round(NMSMTP1.BytesSent * 100.0 / NMSMTP1.BytesTotal)
else
Percent := 0;
ProgressBar1.Position := Percent;
// Status.Caption := '发送数据';
end;procedure Ts_frm.BitBtn4Click(Sender: TObject);
begin
help_frm.Showmodal;
end;procedure Ts_frm.FormCreate(Sender: TObject);
begin
if Edit4.Text<>'' then
Memo1.Lines.Add(' '+'发件人:'+edit4.Text +' '+datetostr(date())+' '+timetostr(time()));
end;end.
多谢各位朋友。
今天的心情因为你们而高兴。