Java クライアントを使用して ssl で smtp 経由で電子メールを送信する必要があります。どうすればいいのかわかりません。
- サーバー証明書が Windows マシンにインストールされている場合、どのように使用すればよいですか?
- Windows 以外のマシンで動作させたい場合、別の方法で証明書を取得する必要がありますか?
ところで: 私が使用している SMTP サーバーが SSL を使用している場合、SSL を使用して受信者にメールが送信されることを確認できますか?
Java クライアントを使用して ssl で smtp 経由で電子メールを送信する必要があります。どうすればいいのかわかりません。
ところで: 私が使用している SMTP サーバーが SSL を使用している場合、SSL を使用して受信者にメールが送信されることを確認できますか?
JavaMail を JSSE (セキュア ソケット拡張機能) で使用し、証明書をインストールする方法について詳しく説明しているこのチュートリアルをご覧ください。
JavaMail を使用したくない場合は、TCP ソケットを介して SMTP プロトコルを自分で実装できます。ここ を参照してください。しかし、一見些細に思える多くの作業を再実装することになりますが、多くのエッジ ケースと複雑さが伴います。仕事には API を使用することを強くお勧めします。
これが、Java クライアント コードによって信頼されるようにサーバー証明書を設定するのに役立つことを願っています。
STORE=/path/to/JRE/cacerts
keytool -import -trustcacerts -keystore $STORE -storepass changeit -noprompt -file mymailserver.pem -alias mymailserver
上記のスラッシュの代わりにバックスラッシュを使用してください (Windows の連中はパス識別子 LOL で自分自身を混同しています)。
参考: http: //vafer.org/blog/20061010073725/
しなければならないことの 1 つは、サーバーの証明書を信頼するように Java クライアントに指示することです。
SMTP サーバーへの SSL 接続は純粋にポイントツーポイントです。SSLを介して他のクライアントやサーバーに接続するという保証はまったくありません(サーバーを制御しない限り)。
MailReporter も使用できます。SSLとTLSに対応! http://magithou.com/tips-a-tricks/42-setup-e-mail-accounts/81-ssl-support.htm