delphi 用TIdSMIP和TIdMessage发送邮件,可群发。

delphi 专栏收录该内容
7 篇文章 0 订阅

1、拖一个TIdSMTP控件,命名为:ZkyIdSMTP
2、拖一个IdMessage控件,命名为:ZkyIdMessage

3、拖一个按钮控件,双击进去后写代码。如下:


 unit Unit1;


interface


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient,
  IdSMTP, IdBaseComponent, IdMessage;

  
type
  TForm1 = class(TForm)  
    ZkyIdMessage: TIdMessage;      //注意看这里两个控件的名字,下面会用到的
    ZkyIdSMTP: TIdSMTP;             //注意看这里两个控件的名字,下面会用到的  
    btnSendMail: TButton;
    procedure btnSendMailClick(Sender: TObject);  
  private  
    { Private declarations }  
  public
    { Public declarations }
  end;  
  
  
var
  Form1: TForm1;  
  
  
implementation


{$R *.dfm}


procedure TForm1.btnSendMailClick(Sender: TObject);
begin
  //------------------------------------
  //设置登录信息
  //ZkyIdSMTP为控件名,
  //可自己更改为与上面的一样的名字。  
  //格式为:
  //<TIdSMIP控件名>.<属性>:=<自己的信息>  
  //------------------------------------
  ZkyIdSMTP.AuthenticationType := atLogin;//设置登录类型,一般不变动  
  ZkyIdSMTP.Host := 'mail.qq.com';   //设置SMTP地址
  ZkyIdSMTP.UserId := '1111@qq.com';   //设置登录账号
  ZkyIdSMTP.Password := '1111';      //设置登录密码
  ZkyIdSMTP.Port := 25;                   //设置端口,必须要整形型
  try
    ZkyIdSMTP.Connect;                    //连接服务器
  except                               //如果连接失败,提示并退出程序  
    ShowMessage('连接服务器失败');  
    Exit;
  end;
  ShowMessage('成功连接服务器。'+#10#13+'点击确认后准备发邮件。');  
  
  
  //------------------------------------
  //配置发送的内容,格式为:
  //<TIdMessage的控件名> . <属性>:=  
  //------------------------------------
  ZkyIdMessage.From.name := '1111@qq.com';//设置发件人姓名
  ZkyIdmessage.Recipients.EMailAddresses:='2222@qq.com';//设置收件人邮箱地址(此为单发邮件的语句,群发时需去掉)
  Zkyidmessage.Subject := '这是邮件的主题'; //设置邮件主题
  Zkyidmessage.body.text := '这是邮件的内容';//设置邮件内容  
  
  
  //------------------------------------  
  //群发邮件:
  //ZkyIdMessage.Recipients.add.Text:='<收件人邮箱>';
  //ZkyIdMessage.BCCList.Add.Address := '<抄送人邮箱>' ;
  //ZkyIdMessage.CCList.Add.Address := '<密送人邮箱>' ;
  //发送给多人的时候,多打几遍语句。
  //------------------------------------
  
  
  try  //发邮件
    ZkyIdSMTP.Send(ZkyIdMessage);
    Showmessage('邮件发送成功!');  
  except
    Showmessage('邮件发送失败!');
  end;


end;
  

end.





就可以发送邮件啦。
  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

Delphi2010 实现邮件附件收发功能 TIdPOP3组件简介 TIdPOP3 是来接收邮件服务器的邮件信息到户端的一个组件。它实现了RFC 1939协议。 在使TIdPOP3组件时需设置它的几个成员属性。 Host :指定邮件服务器,一般为pop3邮件服务器的地址,如 pop3.126.com。 Username :户名,也就是邮箱名,如billanking2002@126.com。 Password :邮箱密码,在进行收发邮件时组件需要凭密码进行登录。 其它成员属性 Connected:返回它与邮件服务器的连接状态,这true表示已经连接。 CheckMessages:邮件数,如果连接服务器成功,则以获得服务器端的邮件数。 成员函数 procedure Connect(const ATimeout: Integer = IdTimeoutDefault); 与服务器连接函数。参数为无效连接时等待的毫秒数。 function RetrieveHeader(const MsgNum: Integer; AMsg: TIdMessage): Boolean; 接收邮件头信息,它有两个参数,MsgNum表示在接收第几个邮件,从1开始,AMsg为邮件消息组件实例。 function Retrieve(const MsgNum: Integer; AMsg: TIdMessage): Boolean; 接收邮件主体信息,它与 RetrieveHeader的参数是一样的。接收的邮件内容将保存在AMsg中。 function Delete(const MsgNum: Integer): Boolean; 删除邮件服务器中第几个邮件。从1开始。 procedure Disconnect; override; 关闭连接。 TIdMessage组件简介 TIdMessage来支持邮件消息协议,如POP3,SMTP,NNTP等。TIdMessage支持多途Internet邮件扩展(MIME)协议。 常TIdMessage的属性: Subject:邮件主题,这个字符串经过BASE64编码的。所以在使时需对它进行解码。 MessageParts:这是TIdMessageParts类的一个实例,它来存储邮件的信息。如邮件内容及附件信息。在进行解析时需要判断它是否为附件或文本,如果为附件时,其文件名是经过BASE64编码的。判断常量分别为TIdText , TIdAttachment。 Body:这是个字符串列表,包含构成该邮件的正文内容。 Form:发送邮件者的地址信息。 Recipients:收件人地址信息。 BccList:抄送地址列表。 CharSet:指示邮件信息中使的字符集。 ContentType:指定MIME媒体数据类型,描述正文中包含的数据,使户代理决定如何显示数据,常的有text/html,text/xml。 TIdSMTP组件简介 TIdSMTPTIdMessageClient派生出的一个简单邮件传输协议SMTP客户端。 它的主要功能是发送邮件信息。 常的属性: Host :SMTP邮件服务器的地址,如smtp.126.com。它与上面的POP3地址不一样。 AuthenticationType:服务器认证类型,它有atNone,atLogin两种,即不需要认证需要凭户名密码进行认证。 Username:户名,这里与TIdPOP3 有点不一样,即它不需要后缀,如billanking2002 Password:邮箱登录密码。如果AuthenticationType设置了atLongin则必须设置密码户名。
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值