1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package mailsend;
 
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 mailsend {
    public static void main(String[] args) {
        final String user = "email@gmail.com";
        final String password = "password";
        
        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");
        
        Session session = Session.getDefaultInstance(prop, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, password);
            }
        });
        
        try {
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(user));
            
            message.addRecipient(Message.RecipientType.TO, new InternetAddress("email@naver.com"));
            
            message.setSubject("메일 테스팅중....!");
            message.setText("메일 내용 테스트");
            
            Transport.send(message);
            System.out.println("message sent successfully....");            
            
            
        } catch (AddressException e) {
            // TODO: handle exception
            e.printStackTrace();
        } catch (MessagingException e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        
    }
}
 
cs



메일 수신 확인..





해당 글은 다시한번 정리해서 소스리뷰 및 설명을 포스팅 하겠습니다.


1. Jsoup 라이브러리 다운


  • https://jsoup.org/download 에서 최신버전 다운로드



2. 이클립스 라이브러리 추가




  • Eclipse Java project에서 Java Build Path - Add External JARs로 Jsoup.jar 라이브러리를 추가해준다.

  • 라이브러리 추가 하면 Package Explorer Referenced Libraries 폴더가 생성되면서 Jsoup 라이브러리가 import 된다.


3. 간단한 예제로 다나와 사이트의 오늘의 특가정보를 가져와보자.




  • 간단한 파싱을 위해 다나와에서 오늘의 특가를 파싱해본다.

  • 구글 크롬 개발자 도구를 통해 해당 뉴스 부분의 제목이나 class id를 확인 할 수 있다.

  • 개발자 도구를 통해 파싱하고 싶은 부분의 class id, tag 등을 먼저 찾는다.

  • Jsoup.connect() : 파싱할 웹 사이트 URL을 입력해 파싱 데이터가 Document 형태로 반환된다.





  • text()로 해당 li 태그의 title 값을 얻어올 수 있다.

  • getElementsByAttribute("href").attr("href")로 href 태그 값을 얻어와 해당 URL을 얻어올 수 있다.

  • URL을 다시 Jsoup.connect()해 링크를 들어간다면, 본문을 크롤링 할 수 있을 것이다.

  • element.toString()은 파싱한 태그 값 전체를 출력하고, element.text()는 파싱한 태그의 title 값만 출력할 수 있다.





N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

'웹개발 > 알고리즘' 카테고리의 다른 글

[알고리즘] for 문 이용하여 별 찍기  (0) 2017.12.19
11721번 열 개씩 끊어 출력하기  (0) 2017.10.21
1924번 2007년  (0) 2017.10.21
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

'웹개발 > 알고리즘' 카테고리의 다른 글

[알고리즘] for 문 이용하여 별 찍기  (0) 2017.12.19
11720번 숫자의 합  (0) 2017.10.21
1924번 2007년  (0) 2017.10.21
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.

'웹개발 > 알고리즘' 카테고리의 다른 글

[알고리즘] for 문 이용하여 별 찍기  (0) 2017.12.19
11720번 숫자의 합  (0) 2017.10.21
11721번 열 개씩 끊어 출력하기  (0) 2017.10.21

+ Recent posts