delphi6下编写需要认证的发送邮件程序(比如263)
最近在delphi5下编写一个数据库的程序,其中有一个功能就是能够自己发送email,本
来我想偷懒让sql server自己发送,看了半天联机帮助不知所以然,于是发狠上网去找
控件乐,(delphi5自带的不支持认证)找到一套叫做indy的控件,可以发送需要SMTP认
证的邮件,我把控件导入delphi5,就去喝可乐乐,呵呵,回来迷茫的看着机器,突然发
现,这几个控件好面熟,噢,呵呵,原来是delphi6里面的东东哦,(台下观众开始毫不
留情的扔石头了)
现在我就贴出来,大家看看,嘻嘻
首先 在indy clients 页上 摘取一个TidSMTP控件(就是那个蓝颜色的柜子啦)
然后 在indy misc 页上 摘取一个TIdMessage控件(象一个信笺的东东)
呵呵,我们给他们取名为SMTP和IdMsgSend
然后开始自己的如下代码
procedure Tform1.SendAlarmEmail;
begin
if SMTPAuthority then //SMTPAuthority 是 表示这个SMTP服务器是否需要认证的bo
olean
SMTP.AuthenticationType := atLogin
else SMTP.AuthenticationType := atNone;
SMTP.UserID := myzerg@263.net;//帐户
SMTP.Password := **********;//密码
{General setup}
SMTP.Host := SMTP.263.net;
SMTP.Port := 25;
try
SMTP.Connect;
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
try
with IdMsgSend do
begin
body.Clear;
Body.Add('hello world');//内容
From.Text := 'myzerg@263.net';
Recipients.EMailAddresses :='zyx_chz@263.net'//收件人
Subject:='老友,哈喽'//主题
end;
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
end;
因为是从代码里面改来的,(因为源码里面还有别的功能),原理就是这样了
其他的功能( 附件,转交,信件的格式mime等等都可以设置的)