掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
XE2標準搭載のIndy10で添付ファイルを保存するには? (ID:41522)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
先ほどのIndyの文字化けの件は大変ありがとうございました。 WinXP、C++BuilderXE2スターターです。 山本隆の開発日誌さんの、 C++Builder2010とIndy10でメールを送信する http://www.gesource.jp/programming/bcb/97.html と、 Mr.XRAYさんの、 776_TIdPOP3を使用してメール受信 http://mrxray.on.coocan.jp/Delphi/plSamples/776_IdPOP3MailClient.htm を参考にしながら書いています。 添付ファイルを参照することまでは出来たのですが、 添付ファイルを保存する所までが辿りつけません。 色々試行錯誤してみたのですが、Header情報を保存してしまうのみで、 添付ファイルを保存できません。 こちらの環境には、TIdAttachmentFileコンポーネントが無いようで、検索でも余り情報が引っかからず、お手上げ状態です。 IndyをTIdAttachmentFileがある、古いバージョンにしてしまう事も考えてます。 どなたか、お知恵を拝借いただけると助かりますm(__)m。 以下ソースです。 //テスト受信 bool result = IdPOP31->Retrieve(5049, msg); //メールの番号は1から if (result) { StringGrid1->Cells[1][1] = msg->Subject; StringGrid1->Cells[2][1] = msg->Body->Text; StringGrid1->Cells[3][1] = msg->Date; StringGrid1->Cells[4][1] = msg->From->Text; StringGrid1->Cells[5][1] = item->Address; StringGrid1->Cells[6][1] = msg->Headers->Text; int i = 1; while ("" != msg->MessageParts->Items[i]->FileName) { try { StringGrid1->Cells[7][1] = StringGrid1->Cells[7][1] + msg->MessageParts->Items[i]->FileName; //↓ここが問題の部分です。 msg->SaveToFile("d:\\aaa.txt",msg->MessageParts->Items[i]->Headers); } catch (int) { } } } else { MessageDlg("メールの受信に失敗しました。", mtError, TMsgDlgButtons() << mbOK, 0); } }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.