WebプロジェクトメールHutoolキットツールを使用してメールを送信する際に、最新のメール設定の変更が有効になりません。

はじめに:

そのにこのプロジェクトを使用します。Hutoolは、優れたツールの数を提供し、非常に良いツールキット、あるメーリングリストツールが、使用する際にもいくつかの問題に遭遇しました。

問題の説明: 

       まず、このプロジェクトは、いくつかのパラメータのようなメッセージが、送信された設定メールプロファイルページ、そこにある、Webプロジェクトです:送信者のメールボックス、パスワード、および他の受信者のメールボックスをし、データベースに保存されているが、
       後で変更するメッセージを設定する際に、これは、再読み込み、メールの設定にデータベースプログラムをトリガして、メールを送信するときに新しい電子メールの設定パラメータを使用して、メッセージを送信します。のみ受信者のメールボックスの始まりを、私はページ上の受信者のメールボックスを追加しましたが、もう一度:例えば;しかし、再びメッセージを送信するときに、問題が発生した今回は、新しい設定パラメータを使用していませんメッセージを送信するとき、受信者は新しいメールを受信しません。

[あなたが全体で同じことはできませんが、あなたが問題を抱えているかのように同じかどうかを確認するために、問題のこの説明を読みます]

問題を解決するには: 

1は、私が最初にこの問題は問題がある場合、彼らはメッセージの構成パラメータを変更した後、設定プログラムを再読み込みする必要がない場合は、独自のコードを疑問視する検出されましたが、問題なくデバッグコードを通じて自分自身を発見しました。


2は、その後、ツールは「「isUseGlobalSession」グローバルセッションかどうか、ツールのクラスコード「センド()」メール送信処理をパラメータとしているツールのソースコードは、問題を発見したかを確認しますisUseGlobalSession =真の「デフォルトを変更した設定が使用される前でも、メールの設定パラメータを再読み込み、その結果、使用されています。


3、問題の解決策を見つけるための時間をして、メッセージを送信し、新しいもの「SendMailUtil」ツール]、[継承「MailUtil」クラスと、グローバルセッションのデフォルトのsendメソッドを使用していない「送信()」メソッドをオーバーライド:このメソッドを呼び出すと、送信を上書きします。

コード:

public class SendMailUtil extends MailUtil{

	/**
	 *  重写send方法让其不使用全局会话
	 *
	 *  setUseGlobalSession(false);设置是否使用全局会话为 false
	 */
	public static void send(MailAccount mailAccount, Collection<String> tos, String subject, String content, boolean isHtml, File... files) {
		Mail.create(mailAccount).setTos((String[])tos.toArray(new String[tos.size()])).setTitle(subject).setContent(content).setHtml(isHtml).setUseGlobalSession(false).setFiles(files).send();
	}

}

ねえ[親指+コレクション+コメント]を学ぶあなたの足跡を残すことを忘れないでくださいヾ 

すべての同様の記事が、ポイントは「いじめ」されていません参照ねえヾ(◍°∇°◍)テクノ゙!ジョーク、そしてあなたの手を動かすには、ビンの親指は、あなたがより多くの学習者が中に参加できるようになります(+親指のコメント)のうち、誰を強制します!ありがとうございました!ω=

 

公開された21元の記事 ウォン称賛31 ビュー10000 +

おすすめ

転載: blog.csdn.net/feichitianxia/article/details/104071943