这篇文章主要介绍了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实现邮件的发送,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!