2009-06-09 12 views
5

Outlookで今何をする:デルファイを使用してThunderbirdから電子メールメッセージのテキストを取得する方法

私は製品の電子メールを受け取ります。私はOutlookで1つまたは複数の電子メールを選択します(1つの注文に複数の電子メールを関連付けることができます)。次に、Delphiのコード化されたOrderManagerプログラムに切り替えて、「インポート」をクリックします。これは、OutlookのCOMオートメーションインターフェイスを使用して各メッセージのテキストを読み取り、解析し、それぞれを処理します。

質問は、代わりにThunderbirdを使用してこれを行うことはできますか? ThunderbirdにはCOMインターフェイスがありますか?私はまだ何も見つけられていないので、間違ったキーワードを検索する必要があります。

Btw、私はIndyを使用して電子メールサーバーから電子メールを直接読み込むだけの私のOrderManagerのバージョンを持っていますが、いくつかの理由からそれらをFirefoxから読み取ろうとします。

すべての提案、ドキュメントへのリンク、またはコードサンプルをお待ちしております。

答えて

5

これをチェックしてください。link

XPCOMの周りにCまたはC++ラッパーを記述し、そのラッパーをDelphi内で使用することができます。

オープンソースXPCOM wrapper written in Delphiもあります。あなたもそれをチェックしたいかもしれません。それを指摘するためにありがとうStijn

希望します。

+1

私はこのXPCOMラッパーをDelphiで使用しています:http://d-gecko.svn.sourceforge.net/viewvc/d-gecko/trunk/GeckoSDK/ –

+0

Thanks Pablo and Stijn!それは非常に役に立ちます。 – MarkF

3

Thunderbirdのメールボックスファイルを自分で解析することもできます。 %APPDATA%\Thunderbird\profiles.iniから

  • 、プロファイルフォルダがどこにあるか(値Default=1を持っているいずれかのProfilenは ...複数のプロファイルがある場合、セクションProfile に目を通す)読み
  • 各プロファイルフォルダのMailおよび/またはImapMailサブフォルダのサブフォルダはアカウントを表します(MailはPOPアカウントを含み、ImapMailはIMAPアカウントを含みます)。
  • 名前の末尾が.datまたは.msf、およびで、内容が 'From'(F、r、o、m、およびスペース)で始まるすべてのファイルを検索します。それらはmailbox filesです。
  • 'From 'で始まる行はすべて、新しいメッセージを示します。 X-Mozilla-Status headerを使用して、メッセージがまだ有効かどうか、またはメッセージが削除対象としてマークされているかどうかを確認します。 (必要に応じて、CDO.Message COMオブジェクトを使用してメッセージを解析することができます)。

それが(例えばInbox.sbdは、受信トレイの下にメールフォルダを含みます)、そのメールボックスのサブフォルダが含まれていますので、あなたは、「.sbd」に終了する各サブフォルダのために再帰的にすべきです。

ただし、ファイルのロックには注意が必要です。

関連する問題