Reputation: 6323
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
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
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