• ベストアンサー

SMTPから送信履歴を取得する

Javaで簡単なメーラーを作成しています。 POPサーバにアクセスして、受信メールを取得することは出来ました。 問題は、送信メールの履歴取得です。 多くのメーラーを見ると、メーラー自身で送信メールを保存しているように見えます。 IMAPサーバであれば履歴はすべてサーバにあるので取得可能なのはわかるのですが、SMTPサーバも履歴を保存していて、クライアントから参照できますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.3

状況は判りましたが、それならばとれる方策は ・常に送信メールのBCCに自己アドレスを入れる か、 ・メール送受信データをDBMSに格納して、各JavaアプリケーションはDBからメール情報を読み出す のどちらかですかねぇ。 もちろん、IMAPでデータを扱うのも可とは思います。 規模や用途にもよるので一概にどれがよいとは言えませんけどね。

kimko-
質問者

お礼

Toshi0230さん、回答ありがとうございます。 DBMSに格納して、各クライアントで参照ですか。 確かに実現できそうですが、実装がめんどくさいですね^^; メールサーバがIMAPを許してればいいんですが、マニュアルにはPOPで受け取れって書いてあるんですよね。 たぶんポート143(IMAP)も開いてないです。 っと、思ったんですが、今調べたらポート143開いてました!! IMAPでデータ扱えるか試してみます!

その他の回答 (2)

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

SMTPサーバは送信するだけなんで履歴なんか残りませんよ? というか送信した内容はメーラ自体が持っているものですから、なんでわざわざサーバから履歴をとる必要があるんですか? 送信したデータのコピーを適当なフォルダに保存しておけばよい話だと思いますが?

kimko-
質問者

補足

回答ありがとうございます。助かります。 [補足] 同じアカウントを複数人で使うことを想定しています。 具体的に言うと、顧客の質問メール回答などを行うアカウントです。 回答者は複数人いますので、作成予定のJavaメーラーは複数のクライアントにインストールされます。 回答が重複するといけませんので、誰かの回答(送信メール)は全員が見れないといけません。 方法としては、 A. 常に送信メールのBCCに自己アドレスを入れる B. サーバ側に送信履歴があれば、それをJavaメーラーで見れるようにする の2つを考えました。 今回の質問はB案を実現性を調査するためです。

  • helonpa
  • ベストアンサー率38% (108/278)
回答No.1

> IMAPサーバであれば履歴はすべてサーバにあるので取得可能なのはわかるのですが、SMTPサーバも履歴を保存していて、クライアントから参照できますでしょうか? ログとしてはあっても、SMTPで参照できるデータはありません。

kimko-
質問者

お礼

素早い回答ありがとうございます。助かりました。

関連するQ&A