• 티스토리 홈
  • 프로필사진
    조별하
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
조별하
  • 프로필사진
    조별하
    • 분류 전체보기 (124)
      • 1. 공부 (0)
        • 기술 면접 (0)
      • 2. 웹개발 (7)
        • Java (1)
        • IT 정보 (5)
        • Error 모음 (1)
      • 3. 개인관심 (1)
        • 전자 (1)
      • GITHUB (5)
      • IT 기술 면접 (3)
      • COMPUTER (2)
      • TASK (1)
      • LANGUAGES (20)
        • Python (3)
        • Django (6)
        • Java (7)
        • Node (1)
        • Jsp (2)
        • R (1)
      • 데이터과학 (2)
        • 머신러닝 및 딥러닝 (2)
      • DATABASE (5)
        • Oracle (2)
      • ISSUE (10)
        • Django (4)
        • Drf (2)
        • Javascript (1)
        • Git (1)
      • JAVA 교육 (65)
        • Java (3)
        • Jquery (2)
        • Sql (16)
        • Jdbc (1)
        • Db (2)
        • Jsp (9)
        • myWeb (15)
        • Servlet (4)
        • Spring (12)
        • Crawling (0)
        • Hosting (1)
      • 정보처리산업기사 (1)
      • EDUCATION (2)
        • IoT 서비스 (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 2019/09/20 메일보내기
        2019년 09월 20일
        • 조별하
        • 작성자
        • 2019.09.20.:32

        ※ 지금배우는 교육과정에는 메일서버 구축을 배우지 않는다.

        KT 호스팅 사이트 http://www.kthosting.co.kr 

         

        [KT호스팅] :: 대한민국 대표 인터넷 허브 KT호스팅 ::

         

        www.kthosting.co.kr


        [01] 자바 메일 보내기

        더보기

        - 문의 메일 보내기, 쇼핑몰에 상품 구매 후에 구매완료되었습니다등
          자바코드를 이용해서 메일을 보낸다.

        - 메일 서버(POP3/SMTP) 구축후, 메일 라이브러리를 통해서
          간편하게 메일을 전송할수 있는 JSP파일을 작성한다.
          별도로 메일 서버는 구축하지 않고 카페24 메일 서버를 활용할 예정.

        - 카페24 유료 회원이면 카페24에서 제공하는 메일 서버를 계정 인증후의 3개까지 사용할 수 있다.(유료전환)
          http://www.cafe24.com  -> 나의 서비스 관리 -> 이메일계정 추가/삭제

        - 카페24 메일 서버 주소 (POP3/SMTP서버): mw-002.cafe24.com
        - 카페24 메일 서버 인증   아이디: soldesk@pretyimo.cafe24.com
                                  비밀번호: soldesk6901
         

        - JAF(JavaBeans Activation Framework)와  JavaMail 라이브러리가 필요

          1) JAF 다운로드 jaf-1_1_1.zip -> activation.jar
              http://www.oracle.com/technetwork/java/jaf11-139815.html

          2) javaMail 다운로드 javamail1_4_7.zip -> mail.jar
              http://www.oracle.com/technetwork/java/javamail/javamail145-1904579.html

              JavaMail 1.5 -> http://www.oracle.com/technetwork/java/index-138643.html

        다운로드 받은 mail.jar 와 activation.jar 를 /WEB-INF /lib 폴더에 복사해 주었다

        메일 보내기

        1. mailForm

        이메일 폼: 받는 사람과 보내는 사람 제목 그리고 내용 textarea 로 해서 구성해 주었다

         

        2. mailProc 메일 보내기 결과

        <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>   
        <%@ include file="../header.jsp"%>
        <!-- 본문시작 mailForm.jsp   -->
        	<h3>* 메일 보내기  결과*</h3>
        <%
        	//1) 메일서버(POP3/SMTP)
        	//2) 1) 메일 서버에서 인증받은 계정과 비번이 있어야함
        	//3) 1) 과 2) 가 유효한지 검증
        	//4) 메일 보내기
        %>
        <!-- 본문 끝  -->
        <%@ include file="../footer.jsp"%>

        ★ '1) 메일 서버에서 인증받은 계정과 비번이 있어야함' 을  net.utility안에 class 를 만들어서 사용할 것이다
        만드는 class명 Authenticator 

         

        ▶ 클래스를 만들어 주는데 빨간 박스는 클래스 단일상속만 가능, 파란 박스는  추상클래스 다중상속이 가능

        ▶ authenticator 를 상속받아 클래스를 생성해 준다.

           MyAuthenticator

        package net.utility;
        
        import javax.mail.Authenticator;
        import javax.mail.PasswordAuthentication;
        
        public class MyAuthenticator extends Authenticator {
        	//사용하고자 하는 메일서버에서 인증받은 계정 비번
        	private PasswordAuthentication pa;
        	
        	public MyAuthenticator(){
        		pa=new PasswordAuthentication("soldesk@pretyimo.cafe24.com","soldesk6901");
        	
        		
        	}
        	
        	@Override
        	protected PasswordAuthentication getPasswordAuthentication() {
        		// TODO Auto-generated method stub
        		return pa;
        	}
        	
        }//class end
        

         

           mailProc

        <%@page import="javax.mail.Session"%>
        <%@page import="net.utility.MyAuthenticator"%>
        <%@page import="javax.mail.Authenticator"%>
        <%@page import="java.util.Properties"%>
        <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>   
        <%@ include file="../header.jsp"%>
        <!-- 본문시작 mailForm.jsp   -->
        	<h3>* 메일 보내기  결과*</h3>
        <%
        	//1) 메일서버(POP3/SMTP)
        	String mailServer="mw-002.cafe24.com";
        	Properties props=new Properties();
        	props.put("mail.smtp.host",mailServer);
        	props.put("mail.smtp.auth","true");
        	
        	//2) 1) 메일 서버에서 인증받은 계정과 비번이 있어야함
        	Authenticator myAuth=new MyAuthenticator();
        	
        	//3) 1) 과 2) 가 유효한지 검증
        	Session sess=Session.getInstance(props,myAuth);
        	out.print("메일 서버 인증 성공!!!");
        	
        	//4) 메일 보내기
        
        
        
        
        	
        	
        	
        %>
        <!-- 본문 끝  -->
        <%@ include file="../footer.jsp"%>

         

        결과

         

        <%@page import="javax.mail.Transport"%>
        <%@page import="java.util.Date"%>
        <%@page import="javax.mail.internet.MimeMessage"%>
        <%@page import="javax.mail.Message"%>
        <%@page import="javax.mail.internet.InternetAddress"%>
        <%@page import="net.utility.Utility"%>
        <%@page import="javax.mail.Session"%>
        <%@page import="net.utility.MyAuthenticator"%>
        <%@page import="javax.mail.Authenticator"%>
        <%@page import="java.util.Properties"%>
        
        <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>   
        <%@ include file="../header.jsp"%>
        <!-- 본문시작 mailForm.jsp   -->
        	<h3>* 메일 보내기  결과*</h3>
        <%
        	//1) 메일서버(POP3/SMTP)
        	String mailServer="mw-002.cafe24.com";
        	Properties props=new Properties();
        	props.put("mail.smtp.host",mailServer);
        	props.put("mail.smtp.auth","true");
        	
        	//2) 1) 메일 서버에서 인증받은 계정과 비번이 있어야함
        	Authenticator myAuth=new MyAuthenticator();
        	
        	//3) 1) 과 2) 가 유효한지 검증
        	Session sess=Session.getInstance(props,myAuth);
        	//out.print("메일 서버 인증 성공!!!");
        	
        	//4) 메일 보내기
        	try{
        			request.setCharacterEncoding("UTF-8");
        		    String to = request.getParameter("to").trim();
        		    String from = request.getParameter("from").trim();
        		    String subject = request.getParameter("subject").trim();
        		    String content = request.getParameter("content").trim();
        		    
        			//엔터 및 특수문자 변경
        			content= Utility.convertChar(content);
        			
        			//메일 관련 메세지 작성
        			Message msg= new MimeMessage(sess);
        			
        			//받는사람
        			InternetAddress[] address={
        					new InternetAddress(to)
        			};
        			/* 수신인 여러명
        				InternetAddress[] address={
        					new InternetAddress(to1),
        					new InternetAddress(to2),
        					new InternetAddress(to3)
        			}
        			*/
        			
        			msg.setRecipients(Message.RecipientType.TO, address);
        			//보내는 사람
        			msg.setFrom(new InternetAddress(from));
        			//메일 제목
        			msg.setSubject(subject);
        			//메일 내용
        			msg.setContent(content,"text/html; charset=UTF-8");
        			//보낸 날짜
        			msg.setSentDate(new Date());
        			//메일 전송
        			Transport.send(msg);
        			out.print(to+"님에게 메일이 발송되었습니다.");
        	}catch(Exception e){
        		out.println("<p>메일 전송 실패!!"+e+"</p>");
        		out.println("<p><a href='javasctipt:history.back();'>[다시시도]</a><p>");
        	
        	}
        %>
        <!-- 본문 끝  -->
        <%@ include file="../footer.jsp"%>

        결과

        'JAVA 교육 > myWeb' 카테고리의 다른 글

        2019/09/02 프로젝트 (intro&template)  (0) 2019.11.22
        2019/10/01 EL과 JSTL  (0) 2019.10.01
        2019/09/19 myWeb 포토 갤러리  (0) 2019.09.19
        2019/09/18 [파일 첨부]  (0) 2019.09.18
        2019/09/17 myweb 쿠키(아이디 저장)  (0) 2019.09.17
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바