通常、オンラインに行くと、ウェブサイト登録を使用することがよくあります。電子メールメッセージを確認して送信するためのテキストメッセージの送信など、多くの方法があります。最近、SSHフレームワークの下で、メールボックスに簡単な電子メールアクティベーションリンクが作成され、ユーザーの登録関数がアクティブになりました。私が使用しているMailServerは、javax.mail.jarパッケージを指す簡単なメールサーバーです。名前が示すように、Javamailは開発者に電子メールの処理に関連するプログラミングインターフェイスを提供します。これは、電子メールを処理するためにSunがリリースしたAPIです。一般的に使用されるメール転送を便利に実行できます。
【一般的なカテゴリはじめに】
一般的に使用されているクラスがいくつかあります。それらを紹介させてください。
【認証者】
これは、メールサーバーであるユーザー名とパスワードを介して保護されたリソースにアクセスする抽象クラスです。作成が完了した後、認証者はセッションに登録する必要があります。次に、認証が必要な場合、認証機に通知されます。
【メッセージ】
これは、トピックやコンテンツなど、送信されるメッセージを作成するための抽象クラスです。メソッドを実装するには、サブクラスが必要です。
【セッション】
セッションクラスは、Java Mail APIの最高レベルのエントリクラスである基本的なメールセッションを定義します。他のすべてのクラスは、このセッションを通じてのみ効果的です。セッションオブジェクトは、java.util.propertiesオブジェクトを使用して、アプリケーション全体で共有されるメールサーバー、ユーザー名、パスワード、その他の情報などの情報を取得します。このセッションクラスは、Javamailでのメールセッションを表します。 Javamailベースの各アプリケーションには少なくとも1つのセッションがありますが、できるだけ多くのセッションを持つことができます。
セッションsendmailsession;
sendmailsession = session.getInstance(props、null);
【輸送】
メッセージ送信の最後の部分は、トランスポートクラスを使用することです。このクラスは、プロトコル(通常はSMTP)で指定された言語でメッセージを送信します。これは抽象的なクラスであり、セッションと同様に機能します。 static send()メソッドを呼び出すことにより、クラスのデフォルトバージョンを使用できます:transport.send(メッセージ)。または、読者は、独自のプロトコルに対するセッションから特定のインスタンスを取得し、ユーザー名とパスワードを渡し(必要ではない場合はそうでない場合)、メッセージを送信してから接続を閉じることができます。
【コード実装】
メールツールクラス:
パッケージcn.itcast.shop.utils; java.util.propertiesをインポートします。 javax.mail.authenticatorをインポートします。 javax.mail.messageをインポートします。 javax.mail.message.recipientTypeをインポートします。 javax.mail.message.recipientTypeをインポートします。 javax.mail.messagingexceptionをインポートします。 javax.mail.passwordauthenticationをインポートします。 javax.mail.sessionをインポートします。 javax.mail.transportをインポートします。 javax.mail.internet.addressexceptionをインポートします。 javax.mail.internet.internetaddressをインポートします。 javax.mail.internet.mimemessageをインポートします。 / ** *メール送信ツールクラス * @author zhouzhou * @date 2016-1-1 * @time 08:52:47 am */ public class mailuitls {public static void sendmail(String to、string code){/ ** * 1。セッション *を取得します。 props.setProperty( "mail.host"、 "localhost");セッションセッション= session.getDefaultInstance(props、new Authenticator(){@Override Protected PasswordAuthentication getPassWordAuthentication(){// todo auto-feenated method stub return new passiouphAuthentication( "[email protected]"、 "111");}}); // 2。メール送信オブジェクトメッセージメッセージ= new Mimemessage(session); // 3。送信者を設定してください{message.setfrom(new InternetAddress( "[email protected]")); //受信者message.addrecipient(reciintienttype.to、new InternetAddress(to))を設定します。 // title message.setsubject( "Zhouzhou Mallからの公式アクティベーションメール"); message.setContent( "<h1> azzモールの公式アクティベーションメール!以下のリンクをクリックしてアクティベーション操作を完了!</h1> <h3> < href = 'http://192.168.21.114:8080/shop/user_active.action?code = "+code+"'> http:8080/shop/user_active?code+"+" </a> </h3> " "text/html; charset = utf-8"); // 3。電子メールを送信:Transport.send(メッセージ); } catch(adstressexception e){// todo auto-enerated catch block e.printstacktrace(); } catch(messagingexception e){// todo auto-fenated catch block e.printstacktrace(); }} public static void main(string [] args){sendmail( "[email protected]"、 "アクティベーションコードはazz19931016"); }}ユーザーのビジネスレイヤーは、SendMailメソッドを登録して使用するときにこのクラスを呼び出します。
パッケージcn.itcast.shop.user.service; Import org.springframework.transaction.annotation.transactional; cn.itcast.shop.user.dao.userdaoをインポートします。 cn.itcast.shop.user.vo.userをインポートします。 cn.itcast.shop.utils.mailuitlsをインポートします。 cn.itcast.shop.utils.uuidutilsをインポートします。 // business layer @Transactional public class userservice {//メソッドのインストールユーザー名Private userdao userdaoによってユーザーをクエリします。 public void setuserdao(userdao userdao){this.userdao = userdao; } public user findbyUsername(string username){return userdao.findbyusername(username); } //ビジネスレイヤー:完全なユーザー登録public void save(user user){// todo auto-enerated method stub //データベースにデータを保存しますuser.setState(0); // 1はアクティブ化されていません。 user.setCode(code); userdao.save(user); //アクティベーションメールを送信します。 mailuitls.sendmail(user.getemail()、code); } //ビジネスレイヤーは、アクティベーションコードパブリックユーザーfindByCode(string code)に基づいてユーザーを照会します{return userdao.findbycode(code); } //ユーザーのステータスを変更する方法public void update(user esceduser){userdao.update(expectuser); } //パブリックユーザーログイン(ユーザーユーザー)をログインするメソッド{return userdao.login(user); }}最後に、この効果が達成されました。
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。