Je veux envoyer des emails de R. Voici ce que j'ai pour l'instant:
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)
Lorsque j'exécute ce script, ma session R est suspendue. Des idées sur ce qui pourrait se passer?
Je viens d'essayer, et cela a fonctionné pour moi.
Mes seules différences ont été utilisées <> pour le de et vers:
from = "<[email protected]>"
to = "<[email protected]>"
et mon contrôle du courrier était différent, j'ai utilisé
control=list(smtpServer="ASPMX.L.GOOGLE.COM"))
Si vous devez pouvoir utiliser un serveur smtp avec authentification, vous pouvez utiliser le package mailR
.
Par exemple, en utilisant le serveur smtp de gmail:
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)
Désolé de cogner ce fil. Si vous souhaitez envoyer un courrier électronique de R à l’aide de Microsoft Outlook, vous trouverez ci-dessous le moyen d’utiliser le package RDCOMClient
. J'ai moi-même passé beaucoup de temps à essayer de trouver une réponse à cette question. Je pensais qu'il serait utile d'avoir cette solution aussi dans ce fil pour les utilisateurs.
Crédit complet à @agstudy qui a fourni la solution originale dans ce lien - Envoi d’e-mail en mode R via 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()
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="abc@1234", ssl=TRUE), authenticate = TRUE, send = TRUE ,attach.files = c(path2),html = TRUE , inline = TRUE )
Il existe deux méthodes pour envoyer un courrier électronique via Gmail, anonymisé ou authentifié. Voici le code pour anonymiser:
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)
Assurez-vous également que les emails des destinataires sont Gmail. Il est fort probable que le dossier Spam du compte Gmail soit marqué "non spammé".
Vous pouvez trouver plus d'infos ici .
Si vous préférez une solution interne avec votre serveur, vous pouvez appeler linmail 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)