TIdPOP3で添付ファイル受信について 
Delphi10.4CE で、TIdPOP3を使用してメールの添付ファイル受信をしようとしています。 
dekoさんのサンプルを参考にさせて頂き作っています。 
https://ht-deko.com/tech040.html#tech076 
このページの一番下の「サンプルコード(受信)」です。 
とりあえず、ログインからメールの題名と本文の受信はできました。 
次に添付ファイルの受信+保存 (今は、とりあえず添付ファイル名を取得) を追加しようと、 
いろいろ検索しながらやっていますが上手くいかずに悩んでいます。 
ソースはdekoさんのサンプルに数行追加しました。 
        Msg := TIdMessage.Create(nil); 
        try 
           MsgCnt := POP3.CheckMessages; 
           Memo1.Lines.Add('MsgCnt: ' + MsgCnt.ToString); 
           for i:=1 to MsgCnt do 
               begin 
                    POP3.RetrieveHeader(i, Msg); 
                    Msg.NoDecode := (LowerCase(Msg.ContentTransferEncoding) <> 'base64') and 
                                    (LowerCase(Msg.ContentTransferEncoding) <> 'quoted-printable'); 
               POP3.Retrieve(i, Msg); 
               Memo1.Lines.Add('Subject: ' + Msg.Subject); 
 //              Memo1.Lines.Add('Body:'); 
//               Memo1.Lines.Add(Msg.Body.Text); 
{ここから} 
                    Msg.MessageParts.CountParts; 
                    Memo1.Lines.Add('CountParts='+Msg.MessageParts.Count.ToString); 
                    for j:=0 to Msg.MessageParts.Count-1 do 
                        begin 
                             if Msg.MessageParts[j] is TIdText then 
                                Memo1.Lines.Add((Msg.MessageParts[j] as TIdText).Body.Text); 
                             if Msg.MessageParts[j] is TIdAttachment then 
                                Memo1.Lines.Add((Msg.messageParts[j] as TIdAttachment).FileName); 
                        end; 
{ここまで} 
               end; 
        finally 
           Msg.Free; 
        end; 
ここで、Msg.MessageParts.Countが 0 になってします。 
プロバイダーは@Nifyです。 
他のメールソフトで、添付ファイルが付いていることは確認しました。 
題名、本文は同じように受け取れています。 
解決方法等ご教授いただければ幸いです。 
 |