Как вы отправляете письмо от 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 зависает. Любые идеи, что может произойти?
Ответы
Ответ 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)