INDY9.0で添付つきHTMLメールの本文を受信するには?

解決


うめ  2005-02-14 22:18:05  No: 13226

INDY9.0を使い、受信したメールの本文を取得しようと思います。
以下のようにプログラムしております。

szBody: string;
Msg : TIdMessage;

IdPOP3.Retrieve( 1, Msg )

// 本文
if( Msg.MessageParts.Items[0] is TIdText )then
    szBodyTmp := TIdText( Msg.MessageParts.Items[0] ).Body.Text;

このように記述すると、添付なしテキストメール・添付つきテキストメール・添付なしHTMLメールは本文を取得できるのですが、添付つきHTMLメールだけは本文を受け取ることができません。
どの形式にも対応できる本文取得方法はありますか?


kuzira  2005-02-15 01:31:58  No: 13227

if not Msg.IsMsgSinglePartMime  then
      for i := 0 to Msg.MessageParts.Count-1 do
      ShowMessage(  Msg.MessageParts.Items[i].DisplayName );


うめ  2005-02-15 02:02:04  No: 13228

ありがとうございます。
Msg.MessageParts.Items[i].DisplayNameが TIdTextの時、Bodyを
取得すると良さそうです。
HTML・添付アリの場合、最初は改行のみが入ってくるのでそれを読み飛ばす
処理が必要ですね。

#Indy9にはIsMsgSinglePartMimeのプロパティはないみたいです


kuzira  2005-02-15 02:14:49  No: 13229

if Msg.MessageParts.Items[i] is TIdText then
のほうが楽かも

TIdText( Msg.MessageParts.Items[i]).body
Msg.MessageParts.Items[i].ContentType


kuzira  2005-02-15 02:17:52  No: 13230

最新のは  Ver10みたいです
ここから  だうんろーどできます
http://www.indyproject.org/download/Borland.iwp


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加