web-dev-qa-db-fra.com

comment envoyer un email de R

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?

47
user1471980

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"))
17
Sarah

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)
35
alko989

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()
10
Code_Sipra
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 )
3
Piyush Sharma

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 .

0
Habib Karbasian

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)      
0
Xavier Prudent