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();

        } 

    } 

}

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
173 google-auth-library-oauth2-http 라이브러리 다운로드 황제낙엽 2023.11.19 1427
172 firebase-admin-java 라이브러리 다운로드 (firebase admin sdk library) 황제낙엽 2023.11.19 575
171 Enum 활용 (개인블로그, Effective Java) file 황제낙엽 2023.11.02 523
170 Enum 활용 (우아한기술블로그) file 황제낙엽 2023.11.02 514
169 [JsonNode] depth 가 여러 단계인 json data 내부를 조회하는 java code 예제 (from Bard) file 황제낙엽 2023.08.09 585
168 JPA 개요 황제낙엽 2023.07.25 272
» javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 570
166 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 560
165 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 592
164 base64 encode, decode 황제낙엽 2023.06.12 288
163 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 506
162 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 285
161 구글 클라우드 비전 API 사용하기 (Google Cloud Vision API) 황제낙엽 2023.02.22 291
160 람다식(Lambda Expressions in Java) file 황제낙엽 2022.12.03 753
159 ConcurrentLinkedQueue와 LinkedBlockingQueue 황제낙엽 2022.04.06 500
158 java.util.Queue file 황제낙엽 2022.04.06 7750
157 HP-UX, IBM-AIX 황제낙엽 2021.06.23 648
156 람다(Lambda)와 함수형 인터페이스 황제낙엽 2021.05.10 569
155 for, while 등의 loop구문에서 sleep하기 황제낙엽 2020.12.04 479
154 미디어 파일의 metadata를 읽자 (metadata-extractor) file 황제낙엽 2020.08.30 1047