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

        } 

    } 

}

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
351 [Gemini] HttpURLConnection 클래스를 이용한 데이터 전송 방식 비교 황제낙엽 2024.03.14 6
350 google-auth-library-oauth2-http 라이브러리 다운로드 황제낙엽 2023.11.19 6
349 firebase-admin-java 라이브러리 다운로드 (firebase admin sdk library) 황제낙엽 2023.11.19 1
348 Enum 활용 (개인블로그, Effective Java) file 황제낙엽 2023.11.02 1
347 Enum 활용 (우아한기술블로그) file 황제낙엽 2023.11.02 4
346 servlet name 에 camel case 를 사용해서는 안되는 이유 황제낙엽 2023.10.24 2
345 org.apache.commons.fileupload.servlet.ServletFileUpload 이용 예시 황제낙엽 2023.08.25 2
344 ServletFileUpload.parseRequest() 실행 결과 리스트가 비어있는 오류 황제낙엽 2023.08.25 15
343 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다. file 황제낙엽 2023.08.23 82
342 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 6
341 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 4
340 [JsonNode] depth 가 여러 단계인 json data 내부를 조회하는 java code 예제 (from Bard) file 황제낙엽 2023.08.09 20
339 JPA 개요 황제낙엽 2023.07.25 3
» javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 2
337 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 219
336 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 3
335 base64 encode, decode 황제낙엽 2023.06.12 8
334 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 1
333 문자의 ASCII 값 테이블 - String.charAt() file 황제낙엽 2023.03.28 0
332 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 1