无法使用mailR包通过Outlook.com发送电子邮件

时间:2014-04-10 03:57:46

标签: java r email outlook

我想使用{mailR}包来发送带身份验证的电子邮件通知。该程序包由{rJava}支持并使用Java工具。

我注册了Outlook.com帐户。

以下是代码:

library(mailR)
email <- send.mail(
  from="(account-name)@outlook.com",
  to="(my-account)@outlook.com",
  subject="Test message from server",
  body="Hello, this is a test message.",
  smtp=list(host.name="smtp-mail.outlook.com",port=25,
    user.name="(account-name)@outlook.com",passwd="(account-password)", 
    ssl = TRUE),
  authenticate=TRUE,
  send=TRUE
)

我读了http://windows.microsoft.com/en-us/windows/outlook/send-receive-from-app并尝试了所有可能的主机名(smtp.live.com,smtp.outlook.com,smtp-mail.outlook.com)和端口(25,587),但这一切都导致了以下错误:

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, : org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp-mail.outlook.com:465

有什么问题?是否有工作解决方案在R?

中发送带身份验证的电子邮件

1 个答案:

答案 0 :(得分:1)

尝试以下代码(已经过其他Outlook用户测试):

send.mail(from = from,
          to = to,
          subject = subject,
          body = msg, 
          authenticate = TRUE,
          smtp = list(host.name = "smtp.office365.com", port = 587,
                      user.name = "xxx@domain.com", passwd = "xxx", tls = TRUE))