2011-11-11 7 views
2

私は、Javaコマンドを使って(Windows上で)シェルコマンドを実行して、デフォルトのメールクライアントを開きます。 mailtoコマンドには、bcc電子メールアドレスが多数あります。Mailto bccリスト

リストが長すぎる場合、一部のアドレスのみが表示されます。

これは、Windowsのmaxコマンドラインの長さに関する問題が原因であると推測しています。

私はこれをどのように修正できるかに関するアイデアはありますか?最後の手段として、私はクリップボードにアドレスを貼り付けることができますが、これは汚れたハックIMHOであり、より良い提案があれば幸いです。

答えて

0

文字通り「デフォルトのメールクライアントを開く」(たとえば、送信前にユーザーがメッセージを変更できるようにする場合)、一般的な解決策はありません。クライアントプログラムがファイルからアドレスリストを読み込める場合は、そのファイルを作成してパラメータとして渡すことができます。あるいは、ファイル/ stdinからメッセージ全体を読むことができ、メールヘッダを解析することができます - それを使うことができます。しかし、それは特定のクライアントの機能に強く依存しており、ちょっとしたハックです(明らかに移植性がありません)。 メールを送信するだけであれば、Java Mail APIをチェックしてください。非常に長いリストを処理できるはずです。これは、OSコマンドを呼び出すことなく、基本的なメーリングプロトコルを実装するためです。

0

私は同じ問題を抱えており、アドレスを管理可能なチャンクにスライスして1つずつ送信する機能を使用しました。これはうまくいくはずですが、最初のメールが開かれている限り、メールクライアントは2番目のウィンドウを開かないという問題があります(Second `window.location = mailto:` fails as long as first one is still open参照)。あなたはそこに使用するコードを見つけることができます、おそらくそれはあなたのために働く...