4

Java アプリケーションで添付ファイル付き電子メールを送信する最良の方法を探していました。これを、ロガー ファイルに関するユーザー バグ レポートとして使用したいと考えています。受信者は私自身の電子メール アドレスである必要があります。電子メール クライアントを使用することをお勧めします。

私は次のことを試しました:

  • このようにユーザー認証をしてメールを送信します。ユーザーは自分の電子メール アカウントとパスワードを明らかにする必要があるため、これは使用したくありません。さらに、すべての電子メール アドレスのプロパティを設定する必要があり、これは不可能です。

  • リスト 16.16のように、自分のメール アドレスに直接メールを送信します(英語の例は見つかりませんでした) 。問題は、現在すべての電子メール サーバーが POP 認証を使用していることです。つまり、受信者の電子メール サーバーが私の電子メールを受け入れないということです。

  • このように mailto URL 構文を使用します。添付ファイル機能がすべての電子メール クライアントで適切に機能しないため、同様に機能しません。これまでの最善の解決策は、私が添付ファイルをデスクトップに置いた後、ユーザーに自分で添付ファイルを追加するように説明することです。または、データをアップロードして、電子メール本文へのリンクを追加します。

  • 私が見つけた最後の方法はこれです。ローカルホストがインターネットに接続され、電子メールを送信するのに十分な能力を備えている必要があるため、これも機能しないと想定できます。

うまくいけば、私は自分の問題を十分に説明しました。バグ レポートを送信する別の方法はありますか?

4

1 に答える 1

4

あなたが説明する問題を回避する一般的に受け入れられている方法は、すべての電子メール ロジック サーバー側を維持し、アプリケーションで適切なパラメーターを使用して Web サービスを呼び出すことです。ジョブを実行する PHP スクリプト/サーブレットをノックアップして、結果を電子メールで送信したり、mysql データベースなどに配置したりするのは非常に簡単です。

ただし、このサーバー側を保持できない/保持したくない/保持しない場合は、JavaMail を使用して を作成しMimeMessage、使用writeTo()してこれを EML ファイルに書き込むことをお勧めします。

その後、通常のことができます:

Desktop.getDesktop().open(emlFile);

...これらのファイルを処理するためのデフォルトのアプリケーションでEMLファイルを開きます。これはほとんどの場合メールクライアントです。それでも絶対確実というわけではありませんが、クライアントから直接メールを送信することに決めているのであれば、それで十分だと思います。

于 2013-01-23T12:58:39.627 に答える