[ジャワ] [32]電子メール

特徴:フロントエンドがバックグラウンドに提出し、特定の情報を埋めるために、背景情報はデータベースに保存され、関連情報は、管理者にメッセージを送信します

本体:

図1に示すように、コントローラ層

@ResponseBody 
@RequestMapping(値 =、メソッド=「送信」RequestMethod.POSTを)
 公衆結果は(SomeInfo someInfo)を提出{    // SomeInfo:に送信エンティティクラス値 
    結果=結果新しい新しい(結果を); // 戻り値独自の定義 
    結果= TheService.submit(someInfo); //は、データベースに保存され
    たIF(result.isSuccess){ // メール送信、成功したセーブ 
        Sendmailの送信= 新新のSendmail(someInfoを);
         // スレッドを起動し、スレッドが開始された後に実行されますメッセージを送信する方法は、実行
        ; send.start()
    } 
    の戻りの検索結果を; 
}

2、Sendmailのクラス

パッケージcom.bfweb.util; 

インポートjava.util.Properties;
 インポートjavax.mail.Messageの、
 インポートのjavax.mail.Session;
 インポートjavax.mail.Transport;
 インポートjavax.mail.internet.InternetAddress;
 インポートJavax.mail.internet .MimeMessage;
 インポートjavax.mail.internet.MimeUtility; 

インポートcom.bfweb.view.SomeInfo; 

パブリック クラス Sendmailの拡張スレッド{    
     プライベート =「[email protected]」から文字列を; //は、管理者のメールボックスにメッセージを送信するために使用
    プライベート文字列名=「xxxMailName」; // メールボックスユーザー名
    プライベート文字列のパスワード=「パスワード」; // メールボックスのパスワード
    プライベート =「mail.xx.com」文字列ホスト; // メールサーバーのアドレスを送信するには、運用、保守を依頼し、私は私達の会社の使用

    プライベートSomeInfo someInfoを、
     公衆sendmailの(someInfo someInfo){
         この .someInfo = someInfo; 
    } 
  
    / * メソッドを実行オーバーライド実装では、ユーザ指定の方法にメール実行を送る
    *#java.lang.Threadの実行()@see 
    * / 
    公共 ボイド(ラン){
       試み{ 
          プロパティの小道具 = 新しい新しいプロパティ(); 
          prop.setProperty( "mail.host" ホスト);
          prop.setProperty( "mail.transport.protocol"、 "SMTP" )。
          prop.setProperty( "mail.smtp.auth"、 "真" ); 

          セッションsession = Session.getInstance(プロパ)。
          session.setDebug(真の); 
          輸送TS = session.getTransport()。
          ts.connect(ホスト、ユーザ名、パスワード); 
          メッセージmessage = createEmail(セッション、operationView)。
          ts.sendMessage(メッセージ、message.getAllRecipients())。
          ts.close(); 
      } キャッチ(例外e){
           スロー 新しいですのRuntimeException(e)前記 
      }
    } 

    公共メッセージcreateEmail(セッションセッション、SomeInfo someInfo)をスロー例外{ 
      
      で、MimeMessageメッセージは = 新しいで、MimeMessage(セッション)。
      message.setFrom(たInternetAddress(から)); 
      message.setRecipient(Message.RecipientType.TO、たInternetAddress( "[email protected]")); // [email protected] 
      message.setSubject(MimeUtility.encodeText( "邮件提醒"、MimeUtility.mimeCharset( "GB2312")、ヌル)); 
      
      文字列情報 = "コード:%sの<BR>" + 
            "名:%sの<BR>" +  
            "
            "電子メール:%sの<BR>" +
            "管理URL:<a href='%s'>%sの</a>を<BR>" 
      情報 = String.Formatの(情報、someInfo.getCode()、someInfo.getName()、someInfo.getGender()、someInfo.getEmail()、 "https://www.baidu.com/"、 "点击进入后台" ); 
      message.setContent(情報、 "text / htmlの;のcharset = UTF-8" ); 
      message.saveChanges(); 
      リターン・メッセージ。
    } 
}

参考ブログ:

電子メールメッセージを作成して送信するために使用のJavaMail - - 1は、JavaWebの研究は(52)を締結し孤高の狼-ブログパーク
https://www.cnblogs.com/xdp-gacl/p/4216311.html

2、Javaプログラムが指定したメールボックスにメッセージを送信する- v_yang_guang_vコラム- CSDNのブログ
https://blog.csdn.net/v_yang_guang_v/article/details/45001075

3、メールサービスのリターンコードの意味- CSDNブログ- weixin_34256074さんのブログ
https://blog.csdn.net/weixin_34256074/article/details/86168513

おすすめ

転載: www.cnblogs.com/huashengweilong/p/11093194.html