delphi发送邮件代码

procedureTForm1.Button1Click(Sender:TObject);
begin
try
IdSMTP1.AuthenticationType:=atLogin;//设置登陆类型
IdSMTP1.Username:=Edit1.Text;//设置登陆帐号
IdSMTP1.Password:=Edit2.Text;//设置登陆密码
IdSMTP1.Host:=Edit3.Text;//设置SMTP地址
IdSMTP1.Port:=strtoint(Edit4.Text);//设置端口必须转化为整型
IdSMTP1.Connect;//开始连接服务器
except
Showmessage(’连接失败,请重试!’);
Exit;//连接失败的话退出该执行过程
end;
IdMessage1.Body.Clear;//先清空上次发送的内容
IdMessage1.Subject:=Edit5.Text;//设置邮件发送的标题
IdMessage1.Body.Assign(Memo1.Lines);//设置邮件发送的主体
IdMessage1.From.Address:=Edit6.Text;//设置邮件的发件人也就是说该邮件来自什么地方
IdMessage1.Recipients.EMailAddresses:=Edit7.Text;//收件人的地址
try
idSMTP1.Send(IdMessage1);
Showmessage(’邮件发送成功!’);
except
Showmessage(’邮件发送失败!’);
end;
end;

或者:

我写了一个发邮件的函数,包你满意
type
TLoginEmailServer=record
SMTPHost:string;
SMTPPort:integer;
Username:string;
Password:string;
SmtpAuthType:integer;
end;
functionSendEmail(poSMTPServer:TLoginEmailServer;poBody:Tstrings;psFromEmial,
psToEmail,psSubject:string;psContentType:string;
CCToEmail:string;poAttachmentPath:TStrings):integer;
var
loIdMsgSend:TIdMessage;
loSMTP:TIdSMTP;
i:integer;
begin
Result:=3;
loIdMsgSend:=nil;
loSMTP:=nil;
try
loIdMsgSend:=TIdMessage.Create(nil);
loSMTP:=TIdSMTP.Create(nil);
withloIdMsgSenddo
begin
ContentType:=psContentType;
From.Text:=psFromEmial;
ReplyTo.EMailAddresses:=psFromEmial;
Recipients.EMailAddresses:=psToEmail;
CCList.EMailAddresses:=CCToEmail;
Subject:=psSubject;
Priority:=mpHigh;
ReceiptRecipient.Text:=’’;
Body.Assign(poBody);
ifAssigned(poAttachmentPath)then
begin
fori:=0topoAttachmentPath.Count-1do
begin
TIdAttachment.Creat(loIdMsgSend.MessageParts,poAttachmentPath.Strings[i]);
end;
end;
end;
withloSMTPdo
begin
Host:=poSMTPServer.SMTPHost;
Port:=poSMTPServer.SMTPPort;
ifpoSMTPServer.SmtpAuthType=1then
AuthenticationType:=atLogin
else
AuthenticationType:=atNone;
Username:=poSMTPServer.Username;
Password:=poSMTPServer.Password;
try
Connect;
Send(loIdMsgSend);
except
result:=2;
exit;
end;
Result:=0;
finally
loIdMsgSend.Free;
loSMTP.Free;
end;
end;

你可能感兴趣的:(delphi发送邮件代码)