programing

R에서 이메일을 어떻게 보내나요?

firstcheck 2021. 1. 15. 08:16
반응형

R에서 이메일을 어떻게 보내나요?


R에서 이메일을 보내고 싶습니다. 이것이 지금까지 가지고있는 것입니다.

library(sendmailR)


from <- "eamil@example.com"
to <- "email2@example.com"
subject <- "Performance Result"
body <- "This is the result of the test:"                     
mailControl=list(smtpServer="snmpt server address")

sendmail(from=from,to=to,subject=subject,msg=body,control=mailControl)

이 스크립트를 실행하면 R 세션이 중단됩니다. 무슨 일이 일어날 지 아이디어가 있습니까?


나는 그것을 시도했고 그것은 나를 위해 일했습니다.

내 유일한 차이점은 from과 to에 <>를 사용했습니다.

from = "<email1@dal.ca>"
to = "<email2@gmail.com>"

내 메일 컨트롤이 달라서

control=list(smtpServer="ASPMX.L.GOOGLE.COM"))

인증과 함께 smtp 서버를 사용할 수 있어야하는 경우 mailR패키지를 사용할 수 있습니다 .

예를 들어 Gmail의 smtp 서버를 사용하는 경우 :

library(mailR)
sender <- "SENDER@gmail.com"
recipients <- c("RECIPIENT@gmail.com")
send.mail(from = sender,
          to = recipients,
          subject = "Subject of the email",
          body = "Body of the email",
          smtp = list(host.name = "smtp.gmail.com", port = 465, 
                      user.name = "YOURUSERNAME@gmail.com",            
                      passwd = "YOURPASSWORD", ssl = TRUE),
          authenticate = TRUE,
          send = TRUE)

이 스레드를 부풀려서 죄송합니다. Microsoft Outlook을 사용하여 R에서 이메일을 보내려면 RDCOMClient패키지를 사용하는 방법은 다음과 같습니다 . 나는 이것에 대한 답을 찾기 위해 많은 시간을 보냈다. 사용자를 위해이 스레드에서도이 솔루션을 사용하는 것이 유용 할 것이라고 생각했습니다.

이 링크에서 원래 솔루션을 제공 한 @agstudy에게 전적인 크레딧-Outlook을 통해 R로 이메일 보내기

library (RDCOMClient)

OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "Test Subject"
outMail[["body"]] = "Body of email"               
outMail$Send()

library(mailR)
sender <- "abc@gmail.com"

recipients <- c("bcd@gmail.com","xyz@gmail.com")

send.mail(
    from = sender, 
     to = recipients, 
     subject="Cash_Collected_Bank_transfer",
     Sys.Date(),
     "{}", body = Summary1, encoding = "utf-8", smtp = 
         list(host.name = "smtp.gmail.com", port = 465, 
         user.name="abc@gmail.com", passwd="abc@1234", ssl=TRUE), 
     authenticate = TRUE, send = TRUE ,
     attach.files = c(path2), html = TRUE , inline = TRUE )

Gmail을 통해 익명 또는 인증 된 두 가지 방법으로 이메일을 보낼 수 있습니다. 다음은 익명화 된 코드입니다.

library(mailR)
send.mail(from = "sender@gmail.com",
      to = c("Recipient 1 <recipient1@gmail.com>", "recipient2@gmail.com"),
      cc = c("CC Recipient <cc.recipient@gmail.com>"),
      bcc = c("BCC Recipient <bcc.recipient@gmail.com>"),
      subject = "Subject of the email",
      body = "Body of the email",
      smtp = list(host.name = "aspmx.l.google.com", port = 25),
      authenticate = FALSE,
      send = TRUE)

수신자 이메일도 Gmail인지 확인하십시오. Gmail 계정의 스팸 폴더로 이동 될 가능성이 높으므로 ' 스팸 아님 '으로 표시해야합니다 .

여기에서 자세한 정보를 찾을 수 있습니다 .


서버에 사내 솔루션을 선호하는 경우 Linux sendmail을 호출 할 수 있습니다.

EMAIL <- myEmail@gmail.com
cmd <- 'subject="Info server";body="This is an email"'
cmd <- paste("echo -e \"Subject:${subject}\n${body}\" | /usr/sbin/sendmail -t \"", EMAIL, "\"")
system(cmd)      

두 가지 매우 흥미로운 약속 이있는 emayili 라는 새 패키지가 있습니다 .

  • 모든 방식의 SMTP 서버에서 작동
  • 최소한의 종속성 (또는 쉽게 충족되는 종속성)이 있습니다.

초기 단계로 보이지만 그럼에도 불구하고 유망합니다. 이메일 보내기는 다음과 같이 간단합니다.

devtools::install_github("datawookie/emayili")
library(emayili)
library(dplyr)

email <- envelope() %>%
  from("alice@yahoo.com") %>%
  to("bob@google.com") %>%
  subject("This is a plain text message!") %>%
  body("Hello!")

smtp <- server(host = "smtp.gmail.com",
               port = 465,
               username = "bob@gmail.com",
               password = "bd40ef6d4a9413de9c1318a65cbae5d7")

smtp(email, verbose = TRUE)

ReferenceURL : https://stackoverflow.com/questions/23412265/how-do-you-send-email-from-r

반응형