使用Delphi收发GMail的邮件

GMAIL的端口和连接方式比较特殊:
SMTP端口为:456
POP3端口为:995
都采用安全连接(SSL)
这些通过Indy组件就可以实现
参考代码如下:
object IdConnectionInterceptOpe nSSL1: TIdConnectionInterceptOp enSSL
   SSLOptions.Method = sslvSSLv2
   SSLOptions.Mode = sslmUnassigned
   SSLOptions.VerifyMode = []
   SSLOptions.VerifyDepth = 0
   Left = 56
   Top = 11
end
object IdPOP31: TIdPOP3
   Intercept = IdConnectionInterceptOpe nSSL1
   InterceptEnabled = True
   RecvBufferSize = 1024
   OnConnected = IdPOP31Connected
   Left = 26
   Top = 11
end
procedure TForm1.Button1Click(Sender: TObject);
begin
   if IdPOP31.Connected then
       IdPOP31.Disconnect;
   IdPOP31.Host := 'pop.gmail.com';
   IdPOP31.Port := 995;
   IdPOP31.UserID :=  'youname@gmail.com';
   IdPOP31.Password := '*********';
   IdPOP31.Connect;
end;
procedure TForm1.IdPOP31Connected(Sender: TObject);
begin
   ShowMessage('连接成功');
end;
举一反三,我想SMTP就没有必要也贴上,搂主自己完善
特别注意:
// 转贴注明作者Zswang wjhu111#21cn.com 2006-12-22
SSL需要如下两个动态连接库
ssleay32.dll
libeay32.dll
Foxmail目录里就有,复制到程序的当前目录即可
否则就叫牛魔王一起来看错误对话框

//参考如下代码
//TIdConnectionInterceptOpenSSL->TIdSSLIOHandlerSocketOpenSSL
//我用TurboDelphi调试可以连接,但连接后会有堵塞-_-!!!

  FIdPOP3 := TIdPOP3.Create(Self);
  FIdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
  FIdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv2;
  FIdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned;
  FIdSSLIOHandlerSocketOpenSSL.SSLOptions.VerifyMode := [];
  FIdSSLIOHandlerSocketOpenSSL.SSLOptions.VerifyDepth := 0;
  FIdSSLIOHandlerSocketOpenSSL.RecvBufferSize := 1024;
  FIdPOP3.IOHandler := FIdSSLIOHandlerSocketOpenSSL;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值