Delphi - Indy idMessage和idSMTP实现邮件的发送

Delphi - Indy idMessage和idSMTP实现邮件的发送

这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

idMessage / idSMTP

首先对idMessage类的各种属性进行赋值(邮件的基本信息,如收件人、邮件主题、邮件正文等),其次通过idSMTP连接邮箱服务器,最后通过idSMTP的发送方法将idMessage发送出去。

界面布局如下:

代码如下:

单位乌曼

连接

使用

窗口、消息、系统、变量、类、图形、控件、表单,

对话框、ExtCtrls、RzPanel、RzShellDialogs、IdMessage、IdBaseComponent、

IdComponent,IdTCPConnection,IdTCPClient,IdMessageClient,IdSMTP,

RzButton,StdCtrls,RzEdit,RzBtnEdt,Mask,RzLabel

类型

TMainFrm=class(TForm)

gbMsgSet:TRzGroupBox;

gbSrvSet:TRzGroupBox;

lb主题:trz标签;

lbr SD:trz标签;

lbCc:trz标签;

lbBCc:trz标签;

lbAth:trz标签;

lbBdy:trz标签;

lb用户名:trz标签;

lb主机:trz标签;

lbPsd:trz标签;

EDT sub:TRzEdit;

ed trsd:TRzEdit;

edtCc:TRzEdit;

EDT bcc:TRzEdit;

beAth:TRzButtonEdit;

mm bdy:TRzMemo;

BTN sendmail:TRzBitBtn;

ed tun:TRzEdit;

edth ST:TRzEdit;

EDT PSD:TRzEdit;

id SMTP:tid SMTP;

id消息:tid消息;

od main:TRzOpenDialog;

过程beAthButtonClick(发送方:to object);

过程btnSendMailClick(发件人:to object);

私人的

{私人声明}

公众的

{公开声明}

结束;

定义变量

主frm:TMainFrm;

履行

{$R * .dfm}

过程TMainFrm.beAthButtonClick(发送方:to object);

开始

与奥德梅恩岛

开始

执行;

如果文件名为"",则

开始

贝丝正文:=文件名;

结束;

结束;

结束;

过程TMainFrm.btnSendMailClick(发件人:to object);

开始

尝试

if (Trim(edtCc .Text)=")和(修剪(edtRsd .Text)=")和(修剪(edtBCc .Text)=")然后

开始

MessageDlg(您应该输入Rsd,请检查,谢谢!,mtInformation,[mbOK],0);

edtRsd .SetFocus

退出;

结束;

用IdMessage做

开始

清晰;

主题:=edtSub .文本;

从。正文:=edtUN .文本;

收件人EMailAddresses :=edtRsd .文本;

CCList .电子邮件地址:=edtCC .文本;

BccList .电子邮件地址:=edtBCc .文本;

优先级:=TIdMessagePriority(4);

如果修剪(beAth .文本)""然后

开始

tid附件创建(消息部分,修剪(beAth .正文));

结束;

身体。分配(mmBdy .台词);

结束;

除.之外

关于e:异常做

开始

MessageDlg(消息集失败,出现错误信息[ E.Message ],mtWarning,[mbOK],0);

退出;

结束;

结束;

尝试

if (Trim(edtUN .Text)=")或(修剪(edtHst .Text)=")或(修剪(edtPsd .Text)=")然后

开始

MessageDlg(您应该输入联合国,请检查,谢谢!,mtInformation,[mbOK],0);

埃德图恩SetFocus . com

退出;

结束;

用IdSMTP做

开始

如果已连接,则断开连接;

AuthenticationType:=登录时;

端口:=25;

用户名:=edtUN .文本;

密码:=edtPsd .文本;

主机:=edtHst .文本;

连接;

结束;

除.之外

关于e:异常做

开始

MessageDlg(Srv集失败,出现错误信息[ E.Message ],mtWarning,[mbOK],0);

退出;

结束;

结束;

尝试

IdSMTP .发送(id消息);

IdSMTP .断开连接;

MessageDlg(好的!,mtInformation,[mbOK],0);

除.之外

关于e:异常做

开始

MessageDlg(发送失败,出现错误信息[ E.Message ],mtWarning,[mbOK],0);

退出;

结束;

结束;

结束;

结束。

总结

以上所述是小编给大家介绍的Delphi - Indy idMessage和idSMTP实现邮件的发送,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Delphi - Indy idMessage和idSMTP实现邮件的发送