사용자가 제품을 구매 한 경우 주문이 생성되었고 사용자의 기본 정보에서 이메일 주소가 얻어 졌음을 사용자에게 이메일을 보내야합니다. 자, 자바에서 이메일을 보내는 방법을 먼저 살펴 보겠습니다.
1. Java로 이메일을 보내는 방법
이 프로젝트를 개선하기 전에 먼저 Java로 이메일을 보내는 방법을 검토합시다. 우선, 이메일을 보내야합니다 : mail.jar, lib 디렉토리로 가져 오십시오. 좋아, Java 이메일의 지식 포인트를 검토하기 위해 일반 Java 프로그램을 작성해 봅시다.
공개 클래스 sendemaildemo {public static void main (String [] args)은 예외 {// 1을 던졌습니다. 이메일 클라이언트에 로그인 (세션 생성) 속성 Properties = new Properties (); Prop.SetProperty ( "mail.transport.protocol", "smtp"); // 세션 세션 세션 세션 생성 세션 세션 = 세션 .getDefaultInstance (prop); // 디버그를 디버그 모드로 설정합니다. 메시지 세션을 보내십시오 .SetDeBug (true); // 이메일 객체 작성 메시지 메시지 = 새 mimemessage (세션); // 문자 메시지를 작성합니다 .SetSubject ( "내 CSDN 블로그 홈페이지에 오신 것을 환영합니다!"); // text content message.setContent ( "내 CSDN 블로그에 오신 것을 환영합니다 홈페이지 : http://blog.csdn.net/eson_15" + ", momoda ~", "text/html; charset = utf-8"); // 첨부 버퍼의 주소 메시지. 전송 전송 = 세션 .getTransport (); // 링크 Mail Server Transport.connect의 인증 정보 ( "smtp.163.com", "Nishengwus", "xxxxx password"); // 수신자 주소를 설정하고 이메일 전송을 보내십시오 .SendMessage (메시지, new InternetAdDress [] {new InternetAdDress ( "[email protected]")); 송신 .close (); }}위의 것은 Java에서 이메일을 보내는 과정입니다. 세션 만들기> 이메일 정보 캡슐화> 발신자 주소 설정> 수신자 주소 설정> 보내기.
2. 메일 전송 기능 캡슐화
Java가 이메일을 보내는 방법을 검토 한 후이 프로세스를 도구 클래스로 캡슐화하고 새 이메일을 구현 한 후 다음과 같이 EmailUtil 인터페이스로 추출합니다.
// 추출 된 emailUtil 인터페이스 공개 인터페이스 emailUtil {public acpract void sendEmail (문자열 emailaddress, String id);} // emailUtilimpl 구현 클래스 @Component ( "emailUtil") public class emailUtilimpl은 이메일 주소 및 주문 번호 @OverRide SendMail (string emailddress, string id in id) {// public void void indement를 수신합니다. 클라이언트 (세션 세션 생성) 속성 propert = new Properties (); 세션 세션 = null; 메시지 메시지 = null; 전송 전송 = null; try {prop.setproperty ( "mail.transport.protocol", "smtp"); // 세션 생성 세션 = 세션 .getDefaultInstance (prop); // 디버그를 디버그 모드로 설정합니다. 메시지 세션을 보내십시오 .SetDeBug (true); // 이메일 객체 만들기 메시지 = 새로운 mimemessage (세션); // 문자 메시지를 작성합니다 .SetSubject ( "온라인 몰 주문 피드백"); // text content message.setContent ( "Hello Customer, 온라인 쇼핑몰 방문에 오신 것을 환영합니다. 주문" + id + "성공적으로 지불!", "text/html; charset = utf-8"); // 첨부 파일 주소 메시지. 전송 = session.getTransport (); // 링크 메일 서버의 인증 정보 전송 ( "smtp.sina.com", "soft03_test", "soft03_test"); // 수신자의 주소를 설정하고 이메일 전송을 보내십시오 .SendMessage (메시지, new InternetAdDress [] {new InternetAdDress (emailAddress)}); } catch (예외 e) {e.printstacktrace (); 새로운 runtimeexception (e)을 던지십시오. } 마침내 {try {rantlical.close (); } catch (MessagingException e) {e.printstacktrace (); 새로운 runtimeexception (e)을 던지십시오. }}}3. 지불을 개선하십시오
도구 클래스의 캡슐화를 완료하십시오. 다음으로, 우리는 도구 클래스를 Baseection에 넣고 @Resource 주석을 통해 사용하여 사용하여 사용합니다. 아래에서는 다음과 같이 이전 지불의 Backbank () 메소드를 향상시킵니다.
@Controller ( "Payaction")@scope ( "프로토 타입") 공공 클래스 지불은 Baseection <bood> emparemeteraware {// 관련없는 코드를 생략합니다 ... public void backbank () {backdata backdata = (backdata) 모델; System.out.println (모델); 부울 isok = payservice.checkbackdata (backdata); if (isok) {// 1. 주문 상태를 업데이트하면 매개 변수는 데이터베이스의 상황에 따라 자체적으로 전송되며 Forderservice.upDatestatusByid (integer.valueof (201605006), 2)를 테스트하는 데 사용됩니다. // 2. 사용자 이메일 주소에 따라 이메일을 보내십시오. String emailaddress = backdata.getr8_mp (). split ( ",") [0]; emailutil.sendemail (emailaddress, backdata.getr6_order ()); // 3. 휴대 전화 문자 메시지 보내기, 다음 블로그는 문자 메시지 System.out.println ( "--- 성공 !! ----")을 보내는 기능을 소개합니다. } else {system.out.println ( "---- 거짓 !!! -----"); }}} Yibao에서 반환 된 정보에서 R6_order 매개 변수는 주문 번호를 저장하고 R8_MP 매개 변수는 사용자의 이메일 및 전화 번호입니다. 첫 번째는 이메일 주소이고 두 번째 주소는 쉼표로 분리 된 전화 번호이므로 먼저 사용자의 이메일 주소를 얻은 다음 이메일을 보내야합니다. 알겠습니다. 결제가 완료된 후 사용자에게 이메일을 보내는 기능이 완료됩니다.
원본 링크 : http://blog.csdn.net/eson_15/article/details/51475046
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.