sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

1. NAVER

 

import java.util.Properties;

 

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

 

public class TestJavaMail2 {

    static final String FROM = "GOODMAN@geoservice.co.kr";

    static final String FROMNAME = "지오서비스";

    static final String TO = "heyMan@naver.com";

    static final String SMTP_USERNAME = "GOODMAN@geoservice.co.kr";

    static final String SMTP_PASSWORD = "****";

    

    static final String HOST = "smtp.live.com";

    static final int PORT = 25;

    

    static final String SUBJECT = "메일 제목";

    

    static final String BODY = String.join(

        System.getProperty("line.separator"),

        "<h1>메일 내용</h1>",

        "<p>이 메일은 아름다운 사람이 보낸 아름다운 메일입니다!</p>."

    );

    public static void main(String[] args) throws Exception {

        Properties props = System.getProperties();

        props.put("mail.transport.protocol", "smtp");

        props.put("mail.smtp.port", PORT); 

        props.put("mail.smtp.starttls.enable", "true");

        props.put("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);

        MimeMessage msg = new MimeMessage(session);

        msg.setFrom(new InternetAddress(FROM, FROMNAME));

        msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));

        msg.setSubject(SUBJECT);

        msg.setContent(BODY, "text/html;charset=euc-kr");

        

        Transport transport = null;

        try {

            System.out.println("Sending...");

            transport = session.getTransport();

            transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD);

            transport.sendMessage(msg, msg.getAllRecipients());

            System.out.println("Email sent!");

        } catch (Exception ex) {

            ex.printStackTrace();

        } finally {

        if (transport != null)

        transport.close();

        }

    }

}

 

2. GMAIL

 

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

 

public class TestVerifyEmail {

 

    public static void main(String[] args) {

        String recipient = "받는사람이메일@co.kr";

        String code = "abc";

 

        // 1. 발신자의 메일 계정과 비밀번호 설정

        final String user = "전송자이메일@co.kr";

        final String password = "********";

 

        // 2. Property에 SMTP 서버 정보 설정

        Properties prop = new Properties();

        prop.put("mail.smtp.host", "smtp.gmail.com");

        prop.put("mail.smtp.port", 465);

        prop.put("mail.smtp.auth", "true");

        prop.put("mail.smtp.ssl.enable", "true");

        prop.put("mail.smtp.ssl.trust", "smtp.gmail.com");

 

        // 3. SMTP 서버정보와 사용자 정보를 기반으로 Session 클래스의 인스턴스 생성

        Session session = Session.getDefaultInstance(prop, new javax.mail.Authenticator() {

            protected PasswordAuthentication getPasswordAuthentication() {

                return new PasswordAuthentication(user, password);

            }

        });

 

        // 4. Message 클래스의 객체를 사용하여 수신자와 내용, 제목의 메시지를 작성한다.

        // 5. Transport 클래스를 사용하여 작성한 메세지를 전달한다.

 

        MimeMessage message = new MimeMessage(session);

        try {

            message.setFrom(new InternetAddress(user));

 

            // 수신자 메일 주소

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));

 

            // Subject

            message.setSubject("PLAYDDIT verification code");

 

            // Text

            message.setText("Welcome to playddit. your code is ["+code+"]");

 

            Transport.send(message);    // send message

  

        } catch (AddressException e) {

            e.printStackTrace();

        } catch (MessagingException e) {

            e.printStackTrace();

        } 

    } 

}

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
326 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 728
325 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 583
324 JPA 개요 황제낙엽 2023.07.25 708
» javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 915
322 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 924
321 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 1042
320 base64 encode, decode 황제낙엽 2023.06.12 661
319 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 935
318 문자의 ASCII 값 테이블 - String.charAt() file 황제낙엽 2023.03.28 801
317 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 656
316 ajax 로 post 데이터를 servlet 으로 전달 받기 (with nexacro) [1] secret 황제낙엽 2023.02.26 0
315 구글 클라우드 비전 API 사용하기 (Google Cloud Vision API) 황제낙엽 2023.02.22 688
314 람다식(Lambda Expressions in Java) file 황제낙엽 2022.12.03 1225
313 ConcurrentLinkedQueue와 LinkedBlockingQueue 황제낙엽 2022.04.06 826
312 java.util.Queue file 황제낙엽 2022.04.06 8985
311 숫자형 클래스 BigInterger (int, long 범위 초과) 황제낙엽 2022.01.16 1089
310 LocalDate.now() 오늘 날짜 황제낙엽 2022.01.16 657
309 [java.lang.ProcessBuilder] “매개변수가 틀립니다” 혹은 ”Cannot run program” 황제낙엽 2021.10.15 1029
308 특정 경로에서 쉘 명령어 실행하기 (ProcessBuilder) 황제낙엽 2021.10.08 798
307 HP-UX, IBM-AIX 황제낙엽 2021.06.23 1080