본문 바로가기

정리/구현

R에서 mail 보내기 (ubuntu)

728x90

개발 환경

ubuntu 16.04 LTS

R 3.4.4 (2018-03-15) 



우여곡절 끝에 ubuntu 에서 R을 이용해 mail 보내기에 성공~

방법은 mailR (R), mailutils (ubuntu) , smtp 서버 가동 후, naver를 이용해 메일 보내기에 성공했다.


1. rJava(R) 패키지 설치가 되지 않아서 mailR 설치가 불가능했다.

해당 이슈는 sudo apt-get install liblzma-dev 설치로 해결되었다. 이전에 다양한 방법을 시도했고 누적된 결과로 해결되었을 수 있다.


2. mailutils 패키지가 repository ?에 없어 주요 패키지를 개별 설치했다.

mailx, postfix 개별 설치함


3. 마지막으로 google smtp 사용이 번거로웠다.

그래서 naver를 알아 보았고 smtp 사용가능하도록  네이버 메일의 환경 설정을 변경했다.


위 서비스를 이용해 R에서 alert 보내기 신공을 할 예정이다.


참고할 코드는 아래와 같다.


install.packages("rjson")

install.packages("mailR")

install.packages("rJava")

install.packages("sendmailR")

#install.packages("jsonlite")


library(jsonlite)

library(mailR)

library(mail)

library(sendmailR)

library(rJava)




## classify


imgnamepath<-file.path(getwd(),paste0("img",gsub(".","",as.numeric(Sys.time()), fixed = T),".png"))

contents<-""

png(imgnamepath); plot(0); dev.off()



## alert

sbj<-paste0("[buy]level",contents)



bdy<-paste0('<img src="',imgnamepath,'">')


library(mailR)

sender <- "ㅇㅇㅇ"

recipients <- c("ㅌㅌㅌㅌ")

send.mail(from = sender,

          to = recipients,

          subject = sbj,

          body = bdy,

          html=T,

          inline=T,

          smtp = list(host.name = "smtp.naver.com", port = 587, 

                      user.name = "ㅌㅌㅌ",            

                      passwd="ㅃㅃㅃ", ssl = TRUE),

          authenticate = TRUE,

          send = TRUE)