怎样用indy10收gmail的邮件? 用indy9可以收取成功,但用indy10怎么也收取不了!极度郁闷!因为项目的很多地方都使用了indy10来开发了,已经换不回去了,请问有谁用indy10收取过gmail吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 借用伴水大师的帖子回复一下好了~~ 先注明不是我写的 只是大家技术分享需求才贴出来的 伴水你可莫怪我倾权啊 学习需要 嘻嘻 =====================================================================GMAIL的端口和连接方式比较特殊:SMTP端口为:456POP3端口为:995都采用安全连接(SSL)这些通过Indy组件就可以实现参考代码如下:object IdConnectionInterceptOpenSSL1: TIdConnectionInterceptOpenSSL SSLOptions.Method = sslvSSLv2 SSLOptions.Mode = sslmUnassigned SSLOptions.VerifyMode = [] SSLOptions.VerifyDepth = 0 Left = 56 Top = 11endobject IdPOP31: TIdPOP3 Intercept = IdConnectionInterceptOpenSSL1 InterceptEnabled = True RecvBufferSize = 1024 OnConnected = IdPOP31Connected Left = 26 Top = 11endprocedure TForm1.Button1Click(Sender: TObject);begin if IdPOP31.Connected then IdPOP31.Disconnect; IdPOP31.Host := 'pop.gmail.com'; IdPOP31.Port := 995; IdPOP31.UserID := '[email protected]'; IdPOP31.Password := '*********'; IdPOP31.Connect;end;procedure TForm1.IdPOP31Connected(Sender: TObject);begin ShowMessage('连接成功');end;举一反三,我想SMTP就没有必要也贴上,搂主自己完善特别注意:// 转贴注明作者Zswang wjhu111#21cn.com 2006-12-22SSL需要如下两个动态连接库ssleay32.dlllibeay32.dllFoxmail目录里就有,复制到程序的当前目录即可否则就叫牛魔王一起来看错误对话框 ssleay32.dlllibeay32.dll要最新的才可以~~~要在www.openssl.org 上面下载到最近的才能连接不然会出现 调用DLL出错~~ InterceptEnabled = TruePOP3控件好像没有这个属性哦?另外,我翻遍整个INDY10,包括搜索全部INDY10的源码,并没有发现TIdConnectionInterceptOpenSSL这个类。请问,这段源码是indy的哪个版本的呢? 原贴地址 http://community.csdn.net/Expert/topic/5241/5241051.xml?temp=.5768854 估计应该不是INDY10吧 这个代码好像是针对indy8的,因为indy9也没有这个TIdConnectionInterceptOpenSSL类 我下载了最新的INDY10,版本号是10.1.6的,还是收取不了:(难道INDY10真的没法收取GMail的邮件?有高手解决过这个问题吗? 弱弱的问一句:直接给indy开发组发邮件询问是否OK? Indy的作者Chad Z. Hower经常泡在borland.public.delphi.non-technical组,你直接去问他吧。 那你看这里:http://www.indyproject.org/Sockets/SSL.en.aspx应该有所帮助。 //参考如下代码//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; uses IdPOP3, IdIOHandler, IdSSLOpenSSl, IdComponent;你还得参考6楼贴的代码调试 是可以连接的,但连接后不久,这个连接就会自动关闭!不知道有谁用indy10可以成功收取过? 你到网上搜一下TIdSSLIOHandlerSocketOpenSSL的使用方法-_-!!! 深宇,怎么用indy10 收邮件的啊,贴出来让俺么瞻仰一下吧 现有项目包装为ActiveX 散1000分,第三个 vc++翻译成Delphi 函数二 年终放分 有没有办法向一组自定义的非可视化类广播自定义的消息?高手来帮忙啊 请问 一个 indy Smtp 发邮件问题。 主题长度太长时, 出现收到的邮件不正常,如何解决呢? 我的IE设置中高级选项卡不见了,不知是否是3721改的? 如何将dbgrid的内容打印出来? 关于窗口焦点问题! 关于扫描图象问题 菜鸟问题:能否用下拉框来控制其他组件的显示? 有什么好的安装制作工具,要求支持中文的
SMTP端口为:456
POP3端口为:995
都采用安全连接(SSL)
这些通过Indy组件就可以实现
参考代码如下:object IdConnectionInterceptOpenSSL1: TIdConnectionInterceptOpenSSL
SSLOptions.Method = sslvSSLv2
SSLOptions.Mode = sslmUnassigned
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 0
Left = 56
Top = 11
end
object IdPOP31: TIdPOP3
Intercept = IdConnectionInterceptOpenSSL1
InterceptEnabled = True
RecvBufferSize = 1024
OnConnected = IdPOP31Connected
Left = 26
Top = 11
endprocedure TForm1.Button1Click(Sender: TObject);
begin
if IdPOP31.Connected then
IdPOP31.Disconnect;
IdPOP31.Host := 'pop.gmail.com';
IdPOP31.Port := 995;
IdPOP31.UserID := '[email protected]';
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目录里就有,复制到程序的当前目录即可
否则就叫牛魔王一起来看错误对话框
libeay32.dll
要最新的才可以~~~要在www.openssl.org 上面下载到最近的才能连接
不然会出现 调用DLL出错~~
POP3控件好像没有这个属性哦?另外,我翻遍整个INDY10,包括搜索全部INDY10的源码,并没有发现TIdConnectionInterceptOpenSSL这个类。
请问,这段源码是indy的哪个版本的呢?
估计应该不是INDY10吧
难道INDY10真的没法收取GMail的邮件?
有高手解决过这个问题吗?
http://www.indyproject.org/Sockets/SSL.en.aspx
应该有所帮助。
//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;
不知道有谁用indy10可以成功收取过?