3

次のようなプロパティを追加する必要があるのはなぜですか

Properties props = System.getProperties();
    props.put("mail.smtp.starttls.enable", "true"); // added this line
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", pass);
    props.put("mail.smtp.port", "587");


Session session = Session.getDefaultInstance(props, null);

メールを送信するためにシステムプロパティに。特にシステムプロパティである必要があるのはなぜですか?

4

3 に答える 3

7

実際にシステム プロパティに追加する必要はありません。

新しい Properties インスタンスを作成して属性を設定しても、同じように機能します。

于 2012-02-27T15:28:05.367 に答える
2

システム プロパティである必要はありません。java.util.Propertiesにすることができます。

于 2012-02-27T15:31:11.083 に答える
2

他の人が言ったように、それらはシステム プロパティである必要はありません。しかし、多くの例がこのように表示される理由として、次のことが考えられます。 Java Mail パッケージは、多数の設定/デバッグ オプションをサポートしています。たとえば、https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.htmlには、SMTP プロバイダーだけで 50 の異なる設定がリストされています。

このオプションを設定したいとします: "mail.smtp.ssl.checkserveridentity"。システム プロパティを開始点として使用する場合は、次のコマンドで Java プロセスを再起動できます。

-Dmail.smtp.ssl.checkserveridentity=true 

オプションを変更します。Properties オブジェクトを自分でゼロから構築する場合は、オプションを設定するためにコードを変更する必要がある場合があります。

于 2015-02-10T22:22:50.350 に答える