这是一个关于email接收的问题,我用的是idpop3 + idmessage实现
由于我用的是memo显示邮件正文,所以其中关于邮件正文的一段我是这样写的: for j:=0 to pred(IDMessage1.MessageParts.Count) do
begin
Memo2.Clear; //清除原来Memo2中的内容 //if IDMessage1.MessageParts.Items[j] is TIDText then
//此处被注释掉是因为它总是使memo中得到一些乱七八糟的东西,虽然也有真正的body,但也有很多html的内容 if IdMessage1.MessageParts.Items[j].ContentType = 'text/plain' then
//然而换用了该句单步时每次都没有执行memo2.add从而使正文为空 begin
Memo2.Lines.add(TIDText(IDMessage1.MessageParts.Item[j]).Body.text);
end; Memo2.lines.SaveToFile('content' + filename);
//如果是文本的邮件则保存为contenti
end;
我现在的疑问就是:1.IdMessage1.MessageParts.Items[j].ContentType 本来就是string类型的变量,为什么单步执行每次都没有为true的时候?(我看了IDMessage1.SaveToFile(filename,false)生成的文件,其中邮件正文之前的content-type就是text/plain)2.什么控件可以显示html型的邮件?
由于我用的是memo显示邮件正文,所以其中关于邮件正文的一段我是这样写的: for j:=0 to pred(IDMessage1.MessageParts.Count) do
begin
Memo2.Clear; //清除原来Memo2中的内容 //if IDMessage1.MessageParts.Items[j] is TIDText then
//此处被注释掉是因为它总是使memo中得到一些乱七八糟的东西,虽然也有真正的body,但也有很多html的内容 if IdMessage1.MessageParts.Items[j].ContentType = 'text/plain' then
//然而换用了该句单步时每次都没有执行memo2.add从而使正文为空 begin
Memo2.Lines.add(TIDText(IDMessage1.MessageParts.Item[j]).Body.text);
end; Memo2.lines.SaveToFile('content' + filename);
//如果是文本的邮件则保存为contenti
end;
我现在的疑问就是:1.IdMessage1.MessageParts.Items[j].ContentType 本来就是string类型的变量,为什么单步执行每次都没有为true的时候?(我看了IDMessage1.SaveToFile(filename,false)生成的文件,其中邮件正文之前的content-type就是text/plain)2.什么控件可以显示html型的邮件?
解决方案 »
- 请问如何将数据中数据导入excel,并根据某一字段合并单元格。
- 请教:一个非常奇怪的 socket 问题,各位大哥帮我看看,谢谢!
- 这样一个function 如何写?
- 能不能把数据表的记录全部(有上百个字段)递归放在TStrings中(或数组中,或记录中),并能查录字符串是否在其中,那个会更好点,
- 请问 怎样实现 三层的 服务程序 " scktsrvr.exe " 不登录 window 2000 server 也能启动 ??????急!!!!
- 小女子有问题求教 50分 我的程序用InstallShield打包分发后,我程序里用到的*.dll文件会在用户机器上自动注册吗
- ado里的sourcedb路径问题,超急,在线等
- themeengine问题
- 请问如何获得SqlServer中的所有数据库名称?
- 有谁用过Search Maker pro 2.1并知道注册码?或能提供类似的软件.[Search Maker Pro可以自动搜索一个网站,对所有页面进行索引,然后生成
- Kevin_Lmx(繁华阅尽) 来拿分!
- 【推荐】超强电子书籍下载
for j:=0 to pred(IDMessage1.MessageParts.Count) dobegin
Memo2.Clear; //if IDMessage1.MessageParts.Items[j] is TIDText then if IdMessage1.MessageParts.Item[j].ContentType= 'text/plain'then begin
Memo2.Lines.add(TIDText(IDMessage1.MessageParts.Items[j]).Body.text);
end; Memo2.lines.SaveToFile('content' + filename); //如果是文本的邮件则保存为contenti
end;
2. 把邮件内容存为后缀为htm,也就是网页,然后用webbrowser控件就可以查看了