쭈쌤
쭈쌤 Hello World

[R] SMTP 서버와 연동하여 메일 발송하기

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[R] SMTP 서버와 연동하여 메일 발송하기≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

[R] SMTP 서버와 연동하여 메일 발송하기

R에서 mailR 패키지를 사용하면 네이버나 구글에서 제공하는 SMTP 서버와 연동하여 메일을 발송할 수 있습니다.

패키지 설치 및 로드

mailR 패키지는 내부적으로 Java를 활용하고 있기 때문에 이 패키지를 사용하기 위해서는 JDK가 설치되고 자바 환경 변수에 대한 설정이 완료되어 있어야 한다.

1
2
3
REPO_URL <- "https://cran.seoul.go.kr/"
if (!require(mailR))     install.packages("mailR", repos=REPO_URL)
library(mailR)

메일 발송하기 (기본 발송)

결과가 표시되는데 다소 시간이 소요된다.

host.name 값은 네이버인 경우 smtp.naver.com, 구글인 경우 smtp.google.com으로 설정한다.

port의 경우 네이버와 구글이 모두 동일하게 465이다.

user.namepasswd는 네이버 혹은 구글의 계정아이디(구글의 경우 메일주소 자체)와 비밀번호를 작성한다. 단, 구글의 경우 passwd를 일반 비밀번호가 아닌 앱 비밀번호를 발급받아 사용해야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
send.mail(from         = "보내는사람주소",                          # 보내는 사람 주소
          to           = "받는사람주소",                            # 받는 사람 주소
          subject      = "안녕하세요. R 프로그래밍",                # 메일제목
          body         = "메일 발송 테스트 입니다.",                # 메일내용
          smtp         = list(host.name = "smtp.naver.com",         # 메일서버 연동 정보
                              port = 465,
                              user.name = "직접설정하세요",
                              passwd = "직접설정하세요",
                              ssl = TRUE),
          encoding     = "utf-8",                                   # 인코딩(고정값)
          authenticate = TRUE,                                      # 인증사용 여부(고정값)
          send         = TRUE)                                      # 실제발송여부(고정값)

추가 옵션 사용하기

수신자 주소를 벡터 형식으로 처리하면 여러명으로 설정할 수 있다.

또한 cc, bcc 파라미터를 사용하여 참조와 숨은참조를 지정할 수 있다.

attach.files 파라미터는 첨부파일의 경로를 벡터형식으로 지정한다. (다중 첨부 가능. 최대 20M)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
send.mail(from         = "보내는사람주소",                         # 보내는 사람 주소

          # 받는사람(to), 참조(cc), 숨은참조(cc) 주소를 벡터로 구성한다.
          to           = c("받는사람주소", "받는사람주소"),
          cc           = c("받는사람주소", "받는사람주소"),
          bcc          = c("받는사람주소", "받는사람주소"),

          subject      = "안녕하세요. R 프로그래밍",                # 메일제목
          body         = "메일 발송 테스트 입니다.",                # 메일내용
          smtp         = list(host.name = "smtp.naver.com",        # 메일서버 연동 정보
                              port = 465,
                              user.name = "직접설정하세요",
                              passwd = "직접설정하세요",
                              ssl = TRUE),
          encoding     = "utf-8",                                   # 인코딩(고정값)
          attach.files = c("파일경로"),                             # 첨부파일목록(벡터형, 다중첨부 가능)
          authenticate = TRUE,                                      # 인증사용 여부(고정값)
          send         = TRUE)                                      # 실제발송여부(고정값)
Rating:

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[R] SMTP 서버와 연동하여 메일 발송하기≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

comments powered by Disqus