- ベストアンサー
SMTPから送信履歴を取得する
Javaで簡単なメーラーを作成しています。 POPサーバにアクセスして、受信メールを取得することは出来ました。 問題は、送信メールの履歴取得です。 多くのメーラーを見ると、メーラー自身で送信メールを保存しているように見えます。 IMAPサーバであれば履歴はすべてサーバにあるので取得可能なのはわかるのですが、SMTPサーバも履歴を保存していて、クライアントから参照できますでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
状況は判りましたが、それならばとれる方策は ・常に送信メールのBCCに自己アドレスを入れる か、 ・メール送受信データをDBMSに格納して、各JavaアプリケーションはDBからメール情報を読み出す のどちらかですかねぇ。 もちろん、IMAPでデータを扱うのも可とは思います。 規模や用途にもよるので一概にどれがよいとは言えませんけどね。
その他の回答 (2)
- Toshi0230
- ベストアンサー率51% (836/1635)
SMTPサーバは送信するだけなんで履歴なんか残りませんよ? というか送信した内容はメーラ自体が持っているものですから、なんでわざわざサーバから履歴をとる必要があるんですか? 送信したデータのコピーを適当なフォルダに保存しておけばよい話だと思いますが?
補足
回答ありがとうございます。助かります。 [補足] 同じアカウントを複数人で使うことを想定しています。 具体的に言うと、顧客の質問メール回答などを行うアカウントです。 回答者は複数人いますので、作成予定のJavaメーラーは複数のクライアントにインストールされます。 回答が重複するといけませんので、誰かの回答(送信メール)は全員が見れないといけません。 方法としては、 A. 常に送信メールのBCCに自己アドレスを入れる B. サーバ側に送信履歴があれば、それをJavaメーラーで見れるようにする の2つを考えました。 今回の質問はB案を実現性を調査するためです。
- helonpa
- ベストアンサー率38% (108/278)
> IMAPサーバであれば履歴はすべてサーバにあるので取得可能なのはわかるのですが、SMTPサーバも履歴を保存していて、クライアントから参照できますでしょうか? ログとしてはあっても、SMTPで参照できるデータはありません。
お礼
素早い回答ありがとうございます。助かりました。
お礼
Toshi0230さん、回答ありがとうございます。 DBMSに格納して、各クライアントで参照ですか。 確かに実現できそうですが、実装がめんどくさいですね^^; メールサーバがIMAPを許してればいいんですが、マニュアルにはPOPで受け取れって書いてあるんですよね。 たぶんポート143(IMAP)も開いてないです。 っと、思ったんですが、今調べたらポート143開いてました!! IMAPでデータ扱えるか試してみます!