一个关于邮件接收的问题,急

aftermoon 2004-12-29 09:51:11
这是一个关于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型的邮件?
...全文
115 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkeye 2005-01-10
  • 打赏
  • 举报
回复
1. 邮局的ContentType 不仅是 'text/plain' ,还可以是multipart/related, multipart/mixed, text/html等等这些type,所以你的判断条件可能得不到True
2. 把邮件内容存为后缀为htm,也就是网页,然后用webbrowser控件就可以查看了
squir 2005-01-10
  • 打赏
  • 举报
回复
我也刚刚开始研究邮件的问题呢~希望你的早日解决~~~~~
aftermoon 2004-12-29
  • 打赏
  • 举报
回复
不知道为什么发了帖子后就这么乱了,我再整理一席程序部分
for j:=0 to pred(IDMessage1.MessageParts.Count) do

begin
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;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧