工作中有个需求需要发送邮件,因为使用的delphi6,所以自然就选择了indy组件,想想这事挺简单的。实现的过程倒是简单,看着Indy的demo很快就完了,毕竟也不是很复杂的功能。 '+ DateTimeToStr(GetServerDateTime) + ''); objMailBody.Add(''); //可能是Indy 看了看网上的资料,就是使用另一个Indy类可以实现TIdText。 后来在网上看到一篇文章才发现是indy的一个bug。链接 TIdSMTP是最终发送邮件的类,发送的代码主要是在它父类TIdMessageClient中实现。 T_T,原来base64还是TODO的功能,不知道后续的Indy版本有没有实现。。 发送邮件进度 由于发送邮件包括了附件,内容比较大必须给用户显示个进度条。
只好找了下Indy支持SSL的资料,网上有许多,我找了篇: http://blog.csdn.net/zhnglicho/article/details/6053340 其实主要是使用TIdSSLIOHandlerSocket 找了找原因是需要openssl的动态库,于是网上找了找,这两个动态库挺多的,我使用的Indy9版本需要特殊的dll版本,详见这个:http://www.2ccc.com/article.asp?
使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制。。。 1、邮件包含TIdText和TIdAttachment时会出现TIdText无法发送的问题 这个问题是因为Indy代码的bug导致的,也很奇怪这种Bug是因为没有经过测试呢?还是测试没有覆盖到? 问题出在SendBody方法上,这个在之前一篇中提到过《技术笔记:Indy控件发送邮件》 当时是解决“发送Html”的问题才使用到了TIdText这个组件,因为基类TIdMessageClient中的SendBody 网上一找有同样的问题,原因也找到了: 【原因】Indy的IdMessage组件在生成待发送的邮件时,主题中有汉字时会按RFC2045~2047的base64编码规范对主题进行编码,base64要求编码后每行长度不能超过 可见Indy确实主要照顾了英文的使用,像中文这种复杂的点语言估计都没好好测试吧,另外以前只听说Indy问题多但一直没感觉到,现在接触多一些果然有所体会啊。
前言: Indy在2006年已经开始移植到FPC下,但是由于各种原因一直更新得比较缓慢,现在官网上的最新版本发布时间是2007年底。 随着Delphi2009(Tiburn)的发布,Indy团队已经将for FPC的版本合并到for Win32的版本中,Lazarus就此获得了最新Indy版本的支持。 下面我们就将一步一步来探讨Indy在Lazarus0.9.26中的安装方法。 要在Lazarus中安装最新的Indy,首先我们必须获取其最新的代码,由于现在Indy的代码使用SVN作为版本控制软件,所以我们必须先安装SVN客户端的软件。 我们选择“SVN Update”,系统就会开始连接Indy的代码库并下载代码。其间还会提示需要输入用户名和密码,这两项都填indy 就可以了。
如果是f == 2, 则是向右操作,得到相应的indX , indY。从左往右遍历每个格子(上下方向不影响)进行Move1操作。 ) { int x = i, y = j; while (CheckRange(x + indX, y + indY)) { x += indX, y += indY; if (map[x )) { x += indX, y += indY; if (map[x][y])break; } if (! ) { int x = i, y = j; while (CheckRange(x + indX, y + indY)) { x += indX, y += indY; if (map[x )) { x += indX, y += indY; if (map[x][y])break; } if (!
htaccess,添加如下代码即可(2 种代码任选): 可用代码 (1): RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (^$|FeedDemon|Indy *(FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser *(FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~* “FeedDemon|Indy (BOT for JCE)’,‘CrawlDaddy ‘,‘Java’,‘Feedly’,‘UniversalFeedParser’,‘ApacheBench’,‘Swiftbot’,‘ZmEu’,‘Indy
前五个项目是:Fabric,Sawtooth,Indy,Burrow和Iroha。 Behlendorf说:“这些项目中的每一个项目都是在Hyperledger之外开始的,首先是一个有特定用例的团队。 Indy Indy项目最初是非营利组织Sovrin基金会的创意。这个想法是为个人提供数字身份,并赋予他们与他们选择的人分享自己身份的权力。 “ 鉴于最近的益百利黑客,Indy的工作看起来特别及时。 Behlendorf表示,Indy的区块链软件基于数据最小化。当一家公司处理完您的数据后,就会抛弃它。
mimalloc_rust indy-sdk: indy SDK实现 #indy #hyperledger Hyperledger Indy(超级账本)官方发布的Rust SDK。 Hyperledger Indy是特别为去中心化的身份而建立的一种分布式账本。它提供了基于区块链或者其它分布式账本互操作来创建和使用独立数字身份的工具、代码库和可以重用的组件。 indy-sdk paperclip: OpenAPI的代码生成工具 #openapi #WIP 0.2发布,支持OpenAPI V2接口。目前还是WIP状态。 paperclip
htaccess,添加如下代码即可(2 种代码任选): 可用代码 (1): RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (^$|FeedDemon|Indy *(FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser *(FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser * (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~* "FeedDemon|Indy (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy
/bin/bash INDEPENDENT原装美国进口滑板支架 INDY的支架堪称桥王,目前比较受欢迎的支架之一 链接里有129,139,149和全新推出的144尺寸所以144是在139与149之间的, 支架适用板面宽度为8.25-8.5以上(8.5慕佳) 支架还有分LOW和HI,也就是矮桥和高桥 支架的高矮选择看个人喜好,颜色分类如果有备注是矮就是矮桥 如果没有备注统一为高桥 有普通款和双空款选择,INDY 的支架PU比较软,属于高桥 支架质感很好,做工也不错,保证美国原装进口因为是进口支架,所以支架难免会有一些小磕碰相信真正玩滑板的人是不会在意小小的磕碰的 INDY的支架主打GRIND,刺边刺台很顺滑,值得推荐的品牌
区块链自动化框架目前支持Corda、Hyperledger Fabric、Hyperledger Indy和Quorum。 Hyperledger Indy 对于Hyperledger Indy,我们从我们的源代码中构建Docker容器。许多不同的Ansible脚本将允许你创建一个新的网络(跨云)。 ?
openfire的组件(Component)开发 Openfire阶段实践总结 技术笔记:XMPP之openfire+spark+smack XMPP协议之消息回执解决方案 delphi相关 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送 技术笔记:Indy的TIdSMTP改造,解决发送Html和主题截断问题 技术笔记:Delphi多线程应用读写锁 技术笔记:Indy控件发送邮件 学习笔记:7z在delphi
"white", from = 0, to = 100 ) + labs( x = "Vote (%)", y = "Election Year", title = "Indy 0.01, 0)) + scale_x_continuous(expand = c(0.01, 0)) + scale_fill_cyclical( breaks = c("1980 Indy ", "1980 Unionist"), labels = c(`1980 Indy` = "Indy", `1980 Unionist` = "Unionist"), values =
http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~* "FeedDemon|Indy (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy HttpClient tcp攻击 Microsoft URL Control 扫描 YYSpider 无用爬虫 jaunty wordpress爆破扫描器 oBot 无用爬虫 Python-urllib 内容采集 Indy
"white", from = 0, to = 100 ) + labs( x = "Vote (%)", y = "Election Year", title = "Indy 0.01, 0)) + scale_x_continuous(expand = c(0.01, 0)) + scale_fill_cyclical( breaks = c("1980 Indy ", "1980 Unionist"), labels = c(`1980 Indy` = "Indy", `1980 Unionist` = "Unionist"), values =
http_user_agent ~* (Scrapy|Curl|HttpClient)) {return 403;}#禁止指定UA及UA为空的访问if ($http_user_agent ~* "FeedDemon|Indy if ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit
SemrushBot|AhrefsBot|Java|Jullo|UniversalFeedParser|Swiftbot|Microsoft|oBot|FlightDeckReports|Linguee|DotBot|Indy SemrushBot|AhrefsBot|Java|Jullo|UniversalFeedParser|Swiftbot|Microsoft|oBot|FlightDeckReports|Linguee|DotBot|Indy
HttpClient)) { return 403; } # UA if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy
为空的访问 if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy
if ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit