- PR -

SocketのセッションをJavaMailに引き継げるのでしょうか

1
投稿者投稿内容
どら平太
会議室デビュー日: 2008/03/09
投稿数: 2
投稿日時: 2008-03-09 03:40
おはようございます。

いつも、この会議室にはお世話になっております。

現在、JavaMailを使用してメールサーバにログインし、
メールボックスからメールの情報を取得&送信する
プログラムを作成しています。ほとんど、Javaやメールに関する初心者でございまして
非常に苦戦しております。皆様のご意見をお聞きしたく、投稿させていただきます。

実現したいことは以下のことです。

JavaMailを使用し、imapプロトコルで認証方式ExternalでメールServerにログインして
メール情報を取得したい。そして取得したメール情報をあるユーザに送信したい。

しかし、JavaMailではLogin認証方式しかサポートしておらず、
パスワードを入力しないで良いExternal認証方式(base64でユーザさえ入力すればよい)
をサポートしていないようなのです。(下記参照。)
http://interstage.fujitsu.com/jp/technical/tips/tip000004_02.html

この、入口の認証でいきなり躓いておる訳です。

で、しょうがないのでSocektを使用して、External認証方式でメールサーバに
ログインだけして、後の処理は、Javamailを使用し、メール情報(ヘッダとボディ)を
取得&送信する、というようなことが出来ないかと考えているのです。

しかし、Socketを使用して、メールサーバにExternalでログインし、セッションを
取得した後に(ここまでは出来ました。)、そのセッションをJavvaMaiにどうやって
受け渡せばいいのかがわかりません。というか、全く違うAPIにセッションを引き
継ぐことなどが出来るのでしょうか?

最悪の場合(セッションをSocketからJavaMailに引き継げない事がわかった場合)、全てSocketで認証&メール情報取得&送信までやってしまおうかと考えています。

ただ、その場合、エラー処理などが非常に面倒になるため、できれば、
Socketでメールサーバに対して認証だけした後、そのセッションをどうにかして
JavaMailに引き継ぎ、メール情報の取得&送信処理はJavaMailで済ませたいという思いが
あります。

非常に長ったらしい文面になってしまいまして申し訳ありません。要は、Socketで
開いたセッションをどうにかしてJavaMailに引き継げないかということを
お聞きしたいのです。

みなさま、どうお考えでしょうか。そんなことができるものなのでしょうか。
意見を幅広くお聞きしたく質問いたします。

以上、よろしくお願いいたします。

ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-03-09 08:59
そのお話自体は不可能と思いますが、認証方式が問題なら、サーバまたはサーバのコンフィギュレーションをいじったほうが、簡単で話が早いと思いますが。
どら平太
会議室デビュー日: 2008/03/09
投稿数: 2
投稿日時: 2008-03-12 01:22
返信が遅くなり申し訳ありません。

認証方式は変えることができないのでプログラム側で対応したいと思っています。

やはりセッションを引き継ぐことは無理そうですね。
Socketを使ってimapコマンドでやり取りする方向で行こうと思います。

ご助言、どうもありがとうございました。
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2008-03-12 08:58
どうしても試したいならできるか分りませんが
下記のサイトの方法はどうでしょうか?
ここ

SSLが使いたくてSokectをいじったのですが
Sokectをはれるとこまで実装できたのなら、
このサイトの最後の方のcreateSocket()のとこに加えれば
可能かと思います。

私は、調査段階で実装まで試しませんでしたので
出来たら結果報告までお願いします。

[ メッセージ編集済み 編集者: いっきゅう 編集日時 2008-03-12 08:59 ]
1

スキルアップ/キャリアアップ(JOB@IT)