Arturo Sbr
Arturo Sbr

Reputation: 6323

Send authenticated mails via Outlook through R using mailR package

How can I send mails from R via Outlook?

I was told to use the sendmailR package, but I could not figure out how to specify certain control settings (such as port, username and password). I was also redirected to this post, but it did not help.

I switched to the mailR package. I can send mails from other servers, such as smtp.gmail.com, but I do not know the Outlook server details. What are the protocol, server and port details required to send mails via Outlook using mailR?

Upvotes: 3

Views: 4221

Answers (2)

Arturo Sbr
Arturo Sbr

Reputation: 6323

This took me a while to figure out. Try this:

send.mail(from = "[email protected]",
          to = c("[email protected]", "[email protected]"),
          subject = "Title",
          body = "Hello from R.",
          authenticate = TRUE,
          smtp = list(host.name = "smtp.office365.com",
                  port = 587,
                  user.name = "[email protected]",
                  passwd = "Pa55w0rd",
                  tls = TRUE))

It is a common misconception that the port is 25 or 447. I believe port 25 can only be used whenauthenticate = FALSE.

Many sources claim that the correct server is smtp-mail.outlook.com. Perhaps you could try this in the event that the code does not work. Moreover, do not use ssl = TRUE. It has to be tls = TRUE.

Shoutout to Rahul Premraj's answer to this archived 2014 question.

Upvotes: 2

Andri Signorell
Andri Signorell

Reputation: 1309

Or you can use DescTools::SendOutlookMail()

library(DescTools)
SendOutlookMail(to = c("[email protected]", "[email protected]"), 
                subject = "Some Info", 
                body = "Hi all\r Find the files attached\r Regards, Dude", 
                attachment = c("C:/temp/fileA.txt", 
                               "C:/temp/fileB.txt"))

Upvotes: 2

Related Questions