unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,
Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;
type
TForm1 = class(TForm)
btn1: TButton;
SMTP: TIdSMTP;
MailMessage: TIdMessage;
mmo1: TMemo;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
Var
i: integer;
sEmail, sFullName: string;
begin
sEmail :='[email protected]';//sEmail 用于临时保存收件者的邮箱地址如我本人的:[email protected]
if Trim(sEmail) <> '' then
begin
with MailMessage do
begin
Clear; // 清除前一次产生的 body & headerm, 以免第二次按时重复
Body.Assign(mmo1.Lines); //邮件正文
From.Text :='[email protected]'; // 发送者的邮箱地址
Recipients.EMailAddresses := sEmail ; // 前面申请的收件者地址变量
Subject := '你好吗,亲爱的'; //写入邮件主题
//Priority := TIdMessagePriority(2);//设置发送的优先级 0-4, 0表示最高优先顺序
CCList.EMailAddresses :='[email protected]';//如果要抄送可以在这里进行操作
// ReceiptRecipient.Text := From.Text; //若要寄件回函,那么就添加这行
end;
// 以下几行代码就是发送EMAIL的验证用户名及密码代码:
SMTP.AuthenticationType := atLogin;{Simple Login}
SMTP.Username :='weifengx10';//如发送者的Email地址为'[email protected]'那么在此时可以在用户名中填入'a123456'
SMTP.Password := 'weifeng123';//'在所在的邮件服务器中注册的密码'
//一般设定
SMTP.Host := 'smtp.163.com';//一般发送邮件服务器的地址都以smtp.XXXX.com进行,如此时的126邮箱的为:smtp.126.com;
SMTP.Port := 25;//发邮件者的发送邮件服务器端口号,一般为25要注意的是这里25是一个integer类型的.
//发送
try
SMTP.Connect;//与发件者服务器建立连接
try
SMTP.Send(MailMessage);//发送EMAIL内容至收件者.
ShowMessage('Send email successful.');
finally
SMTP.Disconnect;//此时不管发送是否成功与否都将Free掉所占的资源
end;
except
on e:exception do
begin
ShowMessage('Send email unsuccessful.' + e.Message);//当连接错误时显示具体错误信息.
end;
end;
end;
end;
end.