MessageParts.Count=0???(200分)

  • 主题发起人 主题发起人 魔鬼大师
  • 开始时间 开始时间

魔鬼大师

Unregistered / Unconfirmed
GUEST, unregistred user!
indy收邮件时,明明邮件是有内容的,
为什么MessageParts.Count=0
 
先调用MessageParts.CountPart方法,然后才能访问Count属性。
 
zqw0117:
错了,小子,看来你对邮件也没什么研究
 
我玩了一下邮件收发,抄了一段例子,发现如果有附件则MessageParts.Count正确,
若没有附件,则MessageParts.Count=0,正文收不到,看来网上的例子都是瞎搞
 
前辈,你的问题我帮不上忙.可以看看我的问题吗?谢谢喔.
 
IdMessage.AutoDecode是不是False?,改成True
 
Re: Using Indy10 SMTP server and beyod


Hi

It's me again.

I have been trying to find a way to retrieve information from a MIME
email message.

for instance I use IdPop3.RetrieveRaw(n, sList) to read a mail from
a POP3 mail server. All data are saved in sList (TStringList). I
then try to parse the message using TIdMessage.

sList.SaveToFile('tempFile.txt');
IdMessage.LoadFromFile('tempFile.txt');
[red]IdMessage.MessageParts.CountParts;[/red]

and then I go through each part:

TIdMessagePart part := IdMessage.MessageParts.Items;

I get the right information from:

part.PartType

for k:=0 to part.Headers.Count-1 do
begin
name := part.Headers.Names[k];
sValue := part.Headers.Values[name];
end;

so I know which part is body text and which part is an attachment
(and the file name).

老外的代码,works fine,自己参考。
 
如果兄弟还有疑问,去这里问把
http://tech.groups.yahoo.com/group/Indy-Dev-Public
上面的Remy Lebeau是Indy项目的程序员(职位我不知道,很热心的一位老外,有问必答,而且解释的很详细)
 
多人接受答案了。
 
后退
顶部