在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

在Delphi中使用indy SMTP发送gmail邮件[转]的更多相关文章

  1. Delphi中,indy控件实现收发邮件的几点学习记录( 可以考虑加入多线程,用多个邮箱做一个邮箱群发器) 转

    关于用Delphi中的Indy控件实现收发邮件的几点学习记录             这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发 ...

  2. .Net Mail SMTP 发送网络邮件

    刚刚迈入"开发"的行列 一直有一个想法 我什么时候能给我庞大的用户信息数据库给每一位用户邮箱发送推荐信息呢? 刚迈入"编程两个月的时间" 我采用 SMTP 发送 ...

  3. WordPress使用PHPMailer发送gmail邮件

    wordpress使用phpmailer发送gmail邮件 0.保证用于gmail账号已经开启imap服务,且你能正常访问到gmail的smtp服务.(需要climb over the wall) 1 ...

  4. 在命令行上 Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件

    在命令行写email from ubuntu 参考:      http://www.habadog.com/2011/11/23/send-mail-with-msmtp-mutt-linux    ...

  5. Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件

    参考:        http://www.cnblogs.com/refrag/archive/2012/11/28/2793533.html         http://www.habadog. ...

  6. Oracle PLSQL通过SMTP发送E-MAIL邮件代码

    登录到SMTPserver发送邮件,支持HTML CREATE OR REPLACE PROCEDURE send_mail(        p_recipient VARCHAR2, -- 邮件接收 ...

  7. Ubuntu下配置用msmtp发送gmail邮件

    从https://gist.github.com/JosefJezek/6194563上找到的一个配置脚本,下载后添加可执行权限,然后运行即可. 下面是脚本setup-msmtp-for-gmail. ...

  8. ABP 用SMTP 发送163邮件

    /// <summary> /// 发送 /// </summary> /// <param name="Subject">邮件标题</p ...

  9. java maven通过SMTP发送QQ邮件的完全步骤

    1.首先打开QQ邮箱的SMTP服务,因为QQ邮箱对于一般的用户都是默认关闭SMTP服务的. 找到SMTP服务的选项,可以看到此处默认是关闭的,点击开启,然后腾讯会进行一些身份验证,身份验证通过以后,腾 ...

随机推荐

  1. ResultSet是结果集对象

    ResultSet是结果集对象 DriverManager管理一组驱动程序 PreparedStatement预编译的,用来发送和执行SQL语句的

  2. c# windows service(服务)

    //安装%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceTest.exe //卸载%Syst ...

  3. poj 1696:Space Ant(计算几何,凸包变种,极角排序)

    Space Ant Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2876   Accepted: 1839 Descrip ...

  4. freemarker2 指令

    if,else,elseif 指令  <#if x==1> x is 1 </#if> <#if==1> x is 1 <#else> x is not ...

  5. H5学习之--前端和PHP后端的简单交互

    最近在学习前端的东西,H5+CSS3+JS,又分别学习了原生JS和jQuery库,还有Bootstrap框架,因为我是做ios开发的,所以先熟悉WebApp相关的开发知识,其他的学习资料,网上有很多的 ...

  6. Oracle sqlldr命令

    今天别人的入库代码,看的真有点晕,最后看完才知道是用了sqlldr命令.哎...还是学艺不精啊,今后还是要多努力. 总结哈sqlldr命令:虽然大多是网上来的,自己要有体会嘛 !开源就是好啊. sql ...

  7. ios模拟器键盘不弹出

    本文转载至 http://blog.csdn.net/cerastes/article/details/39547967 xcode6键盘iPhone-Portrait-Numb不弹出Cant fin ...

  8. WPS长文档编辑技巧之二:对样式的设置与修改

    目录:       1.使用系统内置样式 2.如何修改样式 3.如何自定义样式 4.在文档使用多级编号 5.结合样式编辑文档大纲 6.利用文档结构图查看大纲结构 正文: 1.使用系统内置样式 在使用样 ...

  9. 1808:公共子序列 即POJ 1458 Common Subsequence

    1808:公共子序列 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 我们称序列Z = < z1, z2, ..., zk >是序列X = < ...

  10. 【BZOJ1217】[HNOI2003]消防局的设立 树形DP

    [BZOJ1217][HNOI2003]消防局的设立 Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地, ...