Подтвердить что ты не робот

Как вы отправляете письмо от R

Я хочу отправить письма от R. Это то, что у меня есть до сих пор:

library(sendmailR)


from <- "[email protected]"
to <- "[email protected]"
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)

Когда я выполняю этот script, мой сеанс R зависает. Любые идеи, что может произойти?

4b9b3361

Ответ 1

Я просто попробовал, и это сработало для меня.

Мое единственное отличие заключалось в том, что я использовал < > для от и до:

from = "<[email protected]>"
to = "<[email protected]>"

и мой контроль почты был другим, я использовал

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

Ответ 2

Если вам нужно использовать SMTP-сервер с аутентификацией, вы можете использовать пакет mailR.

Например, используя gmail smtp server:

library(mailR)
sender <- "[email protected]"
recipients <- c("[email protected]")
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 = "[email protected]",            
                      passwd = "YOURPASSWORD", ssl = TRUE),
          authenticate = TRUE,
          send = TRUE)

Ответ 3

Извините, что столкнулся с этой нитью. Если вы хотите отправить электронное письмо из R с помощью Microsoft Outlook, ниже приведен путь к использованию пакета RDCOMClient. Я сам потратил много времени, пытаясь найти ответ на это. Я подумал, что было бы полезно иметь это решение тоже в этом потоке для пользователей.

Полный кредит для @agstudy, который предоставил исходное решение по этой ссылке - Отправка электронной почты в R через Outlook

library (RDCOMClient)

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

Ответ 4

library(mailR)
sender <- "[email protected]"

recipients <- c("[email protected]","[email protected]")

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="[email protected]", passwd="[email protected]", ssl=TRUE), 
     authenticate = TRUE, send = TRUE ,
     attach.files = c(path2), html = TRUE , inline = TRUE )

Ответ 5

Есть два способа отправить электронное письмо через Gmail, анонимное или аутентифицированное. Вот код для анонимных:

library(mailR)
send.mail(from = "[email protected]",
      to = c("Recipient 1 <[email protected]>", "[email protected]"),
      cc = c("CC Recipient <[email protected]>"),
      bcc = c("BCC Recipient <[email protected]>"),
      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, поэтому обязательно отметьте ее как " не спам ".

Вы можете найти больше информации здесь.

Ответ 6

Если вы предпочитаете собственное решение с вашим сервером, вы можете позвонить в linux sendmail.

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