zoukankan      html  css  js  c++  java
  • 在Delphi中使用indy SMTP发送gmail邮件[转]

    在Delphi中使用indy SMTP发送gmail邮件[转]  

    2012-01-01 22:44:30|  分类: Delphi |  标签: |举报 |字号 订阅

     
     
    在Delphi中发送email很简单,发送ssl方式的gmail邮件也很简单,只要在使用的idSMTP上附加一个TIdSSLIOHandlerSocket 就可以了。
    使用控件
     
    procedure sendMail(sToMail, sSubject, sContent: String);
    var
        SMTP: TIdSMTP;
        MailMessage: TIdMessage;
        SSLSocket: TIdSSLIOHandlerSocket;
    begin
      SMTP        := TIdSMTP.Create(nil);
      SSLSocket := TIdSSLIOHandlerSocket.Create(nil);
      MailMessage:= TIdMessage.Create(nil);
     
      SMTP.IOHandler := SSLSocket;
      SMTP.Port   := 465;
      SMTP.Host := 'smtp.gmail.com';
      SMTP.AuthenticationType  := atLogin;
     
      smtp.UserName     := 'SunnyYu2000';
      smtp.Password      := 'xxxxxx';
     
      // 设置邮件的信息
      MailMessage.From.Address := 'SunnyYu2000@gmail.com';
      MailMessage.Recipients.EMailAddresses := sToMail;
      MailMessage.Subject := sSubject;  
      MailMessage.Body.Text := sContent;
     
      //发送邮件
      try
        try
          SMTP.Connect(1000);
          SMTP.Send(MailMessage);
          ShowMessage('发送成功');
        except on E:Exception do
          ShowMessage('发送失败: ' + E.Message);
        end;
      finally
        if SMTP.Connectedthen
          SMTP.Disconnect;
      end;
     
      MailMessage.Free;
      SSLSocket.Free;
      SMTP.Free;
    end;
    编译后需要SSL动态库支持,支持库可以到Indy网站上下载到。
    如果需要发送附件,可以再发送前添加如下类似代码
     
       // 添加邮件的附件
       TIdAttachment.Create(MailMessage.MessageParts, sAttachmentFileName);
    ————–
    Indy需要的SSL支持dll下载地址 http://www.indyproject.org/Sockets/SSL.EN.aspx
  • 相关阅读:
    阿里云slb实现多域名https
    docker容器互连
    ext4文件系统(转)
    Effective Java 读书笔记(四):泛型
    Effective Java 读书笔记(一):创建和销毁对象
    Effective Java 读书笔记(三):类与接口
    Effective Java 读书笔记(二):对象通用方法
    三种TCP协议聊天室实现
    WebSocket协议探究(三):MQTT子协议
    WebSocket协议探究(二)
  • 原文地址:https://www.cnblogs.com/honeynm/p/4196087.html
Copyright © 2011-2022 走看看