우리가 보통 온라인에 갈 때, 우리는 종종 웹 사이트 등록을 사용합니다. 확인을 위해 문자 메시지를 보내고 이메일 메시지를 보내는 것과 같은 많은 방법이 있습니다. 최근 SSH 프레임 워크에서는 사서함에 간단한 이메일 활성화 링크를 만들어 사용자 등록 기능을 활성화했습니다. 내가 사용중인 MailServer는 Easy Mail Server로 javax.mail.jar 패키지를 나타냅니다. 이름에서 알 수 있듯이 Javamail은 개발자에게 이메일 처리와 관련된 프로그래밍 인터페이스를 제공합니다. SUN이 발표 한 API는 이메일을 처리합니다. 일반적으로 사용되는 메일 전송을 편리하게 수행 할 수 있습니다.
【일반 카테고리 소개】
일반적으로 사용되는 수업은 다음과 같습니다. 여러분에게 소개하겠습니다.
【인증 자 ent
이것은 메일 서버 인 사용자 이름과 비밀번호를 통해 보호 자료에 액세스하는 추상 클래스입니다. 생성이 완료되면 인증자는 세션에 등록되어야합니다. 그런 다음 인증이 필요한 경우 인증 자에게 알립니다.
【메시지】
이것은 주제 및 내용과 같은 메시지를 작성하는 추상 클래스입니다. 메소드를 구현하려면 서브 클래스가 있어야합니다.
【세션】
세션 클래스는 Java Mail API의 최고 수준의 항목 클래스 인 기본 메일 세션을 정의합니다. 다른 모든 클래스는이 세션에서만 유용합니다. 세션 객체는 java.util.properties 객체를 사용하여 메일 서버, 사용자 이름, 비밀번호 및 응용 프로그램 전체에서 공유되는 기타 정보와 같은 정보를 얻습니다. 이 세션 클래스는 Javamail의 메일 세션을 나타냅니다. 각 Javamail 기반 응용 프로그램에는 하나 이상의 세션이 있지만 가능한 한 많은 세션을 가질 수 있습니다.
세션 Sendmailsession;
sendmailsession = session.getInstance (props, null);
【수송】
메시지 보내는 메시지의 마지막 부분은 전송 클래스를 사용하는 것입니다. 이 클래스는 프로토콜 (일반적으로 SMTP)에 의해 지정된 언어로 메시지를 보냅니다. 그것은 추상적 인 수업이며 세션과 다소 유사하게 작동합니다. static send () 메소드를 호출하면 클래스의 기본 버전을 사용할 수 있습니다 : ranstall.send (message). 또는 독자는 자신의 프로토콜에 대한 세션에서 특정 인스턴스를 얻고, 사용자 이름과 암호를 전달하고 (필요하지 않은 경우) 메시지를 보내고 연결을 닫을 수 있습니다.
Code Code 구현 ation
메일 도구 클래스 :
패키지 cn.itcast.shop.utils; java.util.properties import; import javax.mail.authenticator; javax.mail.message import; import javax.mail.message.recipientType; import javax.mail.message.recipientType; javax.mail.messagingException import; Javax.mail.Passwordauthentication import; javax.mail.session import; import javax.mail.transport; import javax.mail.internet.addressException; import javax.mail.internet.internetAddress; javax.mail.internet.mimemessage import; / ** * 메일 보내기 도구 클래스 * @Author Zhouzhou * @Date 2016-1-1 * @Time 08:52:47 AM */ public class mailuitls {public static void sendmail (문자열 to, String Code) {/ ** * 1. 세션 받기 * 2. 전자 메일 전송 *// ** * 1. props.setproperty ( "mail.host", "localhost"); 세션 세션 = session.getDefaultInstance (propss, new authenticator () {@override prossected passwordauthentication getPasswordAuthentication () {// todo 자동 생성 메소드 스터브 새 passwordAuthentication ( "[email protected]", "111");}); // 2. 메일 보내기 객체 메시지 메시지 메시지 = 새로운 mimemessage (세션); // 3. 발신자 try {message.setfrom (new InternetAddress ( "[email protected]"))를 설정합니다. // 수신자 메시지를 설정합니다. ADDRECIPIENT (RecepientType.to, New InternetAdDress (to)); // 제목 메시지 .SetSubject ( ""Zhouzhou Mall의 공식 활성화 이메일 "); Message.SetContent ( "<H1> AZZ MALL 공식 활성화 이메일! 활성화 작업을 완료하려면 아래 링크를 클릭하십시오! </h1> <H3> <A href = 'http : //192.168.21.114 : 8080/shop/user_active.action? code = "+code+"' ''> http://192.168.21.114:8080/shop/user_active.action?code= "+"</h3> ", "텍스트/html; charset = utf-8"); // 3. 이메일 보내기 : rangplity.send (메시지); } catch (wassedException e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); } catch (messagingException e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); }} public static void main (String [] args) {sendmail ( "[email protected]", "활성화 코드는 AZZ19931016"); }} 사용자의 비즈니스 계층은 등록 할 때이 클래스를 호출하고 SendMail 메소드를 사용합니다.
패키지 cn.itcast.shop.user.service; org.springframework.transaction.annotation.transactional import; cn.itcast.shop.user.dao.userdao import; cn.itcast.shop.user.vo.user import; cn.itcast.shop.utils.mailuitls import; cn.itcast.shop.utils.uuidutils import; // 비즈니스 계층 @transactional public class userervice {// 사용자 이름을 쿼리하기 위해 메소드를 설치하여 개인 userDao userDao; public void setuserdao (userdao userdao) {this.userdao = userdao; } 공개 사용자 findByUserName (String username) {return userDao.FindByUserName (username); } // 비즈니스 계층 : 완전한 사용자 등록 공개 void Save (사용자 사용자) {// todo 자동 생성 메소드 스터브 // 데이터베이스 user (0); // 1에서 데이터 저장, 0은 활성화되지 않았습니다. user.setCode (코드); userdao.save (사용자); // 활성화 이메일 보내기; mailuitls.sendmail (user.getemail (), 코드); } // 비즈니스 계층은 활성화 코드를 기반으로 사용자를 쿼리합니다. 공개 사용자 findByCode (String Code) {return userDao.FindByCode (Code); } // 사용자의 상태를 수정하는 메소드 공개 void update (user befortuser) {userdao.update (bescipser); } // 공개 사용자 로그인에 로그인하는 메소드 (사용자 사용자) {return userDao.login (사용자); }}마지막 으로이 효과가 달성되었습니다.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.