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

        } 

    } 

}

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
343 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다. file 황제낙엽 2023.08.23 891
342 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 337
341 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 210
340 [JsonNode] depth 가 여러 단계인 json data 내부를 조회하는 java code 예제 (from Bard) file 황제낙엽 2023.08.09 585
339 JPA 개요 황제낙엽 2023.07.25 272
» javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 571
337 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 560
336 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 592
335 base64 encode, decode 황제낙엽 2023.06.12 289
334 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 506
333 문자의 ASCII 값 테이블 - String.charAt() file 황제낙엽 2023.03.28 471
332 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 285
331 ajax 로 post 데이터를 servlet 으로 전달 받기 (with nexacro) [1] secret 황제낙엽 2023.02.26 0
330 구글 클라우드 비전 API 사용하기 (Google Cloud Vision API) 황제낙엽 2023.02.22 291
329 람다식(Lambda Expressions in Java) file 황제낙엽 2022.12.03 754
328 ConcurrentLinkedQueue와 LinkedBlockingQueue 황제낙엽 2022.04.06 500
327 java.util.Queue file 황제낙엽 2022.04.06 7752
326 숫자형 클래스 BigInterger (int, long 범위 초과) 황제낙엽 2022.01.16 807
325 LocalDate.now() 오늘 날짜 황제낙엽 2022.01.16 323
324 HttpServletRequest, HttpServletResponse, JSONObject, POST 황제낙엽 2022.01.12 389