Delphi - Indy idMessage和idSMTP实现邮件的发送
网络编程 2021-07-05 13:20www.168986.cn编程入门
这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
idMessage / idSMTP
对idMessage类的各种属性进行赋值(邮件的基本信息,如收件人、邮件主题、邮件正文等),通过idSMTP连接邮箱服务器,通过idSMTP的Send方法将idMessage发送出去。
界面布局如下
代码如下
unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, RzPanel, RzShellDialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, RzButton, StdCtrls, RzEdit, RzBtnEdt, Mask, RzLabel; type TMainFrm = class(TForm) gbMsgSet: TRzGroupBox; gbSrvSet: TRzGroupBox; lbSubject: TRzLabel; lbRsd: TRzLabel; lbCc: TRzLabel; lbBCc: TRzLabel; lbAth: TRzLabel; lbBdy: TRzLabel; lbUserName: TRzLabel; lbHost: TRzLabel; lbPsd: TRzLabel; edtSub: TRzEdit; edtRsd: TRzEdit; edtCc: TRzEdit; edtBCc: TRzEdit; beAth: TRzButtonEdit; mmBdy: TRzMemo; btnSendMail: TRzBitBtn; edtUN: TRzEdit; edtHst: TRzEdit; edtPsd: TRzEdit; IdSMTP: TIdSMTP; IdMessage: TIdMessage; odMain: TRzOpenDialog; procedure beAthButtonClick(Sender: TObject); procedure btnSendMailClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var MainFrm: TMainFrm; implementation {$R .dfm} procedure TMainFrm.beAthButtonClick(Sender: TObject); begin with odMain do begin Execute; if FileName <> '' then begin beAth.Text := FileName; end; end; end; procedure TMainFrm.btnSendMailClick(Sender: TObject); begin try if (Trim(edtCc.Text) = '') and (Trim(edtRsd.Text) = '') and (Trim(edtBCc.Text) = '') then begin MessageDlg('You should input Rsd, please check,thanks!', mtInformation, [mbOK], 0); edtRsd.SetFocus; Exit; end; with IdMessage do begin Clear; Subject := edtSub.Text; From.Text := edtUN.Text; Recipients.EMailAddresses := edtRsd.Text; CCList.EMailAddresses := edtCC.Text; BList.EMailAddresses := edtBCc.Text; Priority := TIdMessagePriority(4); if Trim(beAth.Text) <> '' then begin TIdAttachment.Create(MessageParts, Trim(beAth.Text)); end; Body.Assign(mmBdy.Lines); end; except on E: Exception do begin MessageDlg('Msg Set Failed with Err information [' + E.Message + ']', mtWarning, [mbOK], 0); Exit; end; end; try if (Trim(edtUN.Text) = '') or (Trim(edtHst.Text) = '') or (Trim(edtPsd.Text) = '') then begin MessageDlg('You should input UN, please check,thanks!', mtInformation, [mbOK], 0); edtUN.SetFocus; Exit; end; with IdSMTP do begin if Connected then Disconnect; AuthenticationType := atLogin; Port := 25; UserName := edtUN.Text; Password := edtPsd.Text; Host := edtHst.Text; Connect; end; except on E: Exception do begin MessageDlg('Srv Set Failed with Err information [' + E.Message + ']', mtWarning, [mbOK], 0); Exit; end; end; try IdSMTP.Send(IdMessage); IdSMTP.Disconnect; MessageDlg('OK!', mtInformation, [mbOK], 0); except on E: Exception do begin MessageDlg('Send Failed with Err information [' + E.Message + ']', mtWarning, [mbOK], 0); Exit; end; end; end; end.
以上所述是长沙网络推广给大家介绍的Delphi - Indy idMessage和idSMTP实现邮件的发送,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
如果你觉得本文对你有帮助,欢迎网络推广网站推广转载,烦请注明出处,谢谢!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程