You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言mailR包向Outlook发送邮件失败问题求助

问题根因

报错核心是java.net.UnknownHostException: smtp.office365.com,说明程序无法解析Office365 SMTP服务器的域名,同时你的代码本身存在语法错误,需要先修正再排查网络和权限问题。

第一步:修正代码错误

你提供的代码存在两个明显语法问题:

  • port参数前多写了一个多余的反引号
  • authenticate参数重复定义了两次

修正后的代码如下:

library(mailR)

send.mail(
    from = "me@companydomain.com",
    to = c("coworker@companydomain.com"),
    subject = "Test Email",
    body = "testing",
    smtp = list(
      host.name = "smtp.office365.com",
      port = 587,
      user.name = "me@companydomain.com",
      passwd = "你的密码",
      tls = TRUE
    ),
    authenticate = TRUE,
    send = TRUE
)

第二步:排查DNS解析问题

在你的设备终端/命令提示符中执行命令ping smtp.office365.com,如果返回找不到主机的报错,说明你本地DNS配置异常,可尝试更换公共DNS后重试。

第三步:排查网络端口限制

很多企业内网会拦截对外的587端口访问,或是设置了全局代理:

  • 如果是个人网络,可检查防火墙规则是否放行587端口的出站请求
  • 如果是企业网络,联系IT确认是否开放smtp.office365.com的587端口访问权限,如有代理要求,需要在smtp配置中补充代理地址、端口、认证信息

第四步:调整Office365账号配置

目前Office365默认禁用基础密码认证的SMTP发送权限:

  • 如果你没有开启账号二次验证(MFA),需要先在账号安全设置中启用SMTP认证
  • 如果你开启了MFA,不能直接填账号登录密码,需要在账号安全中心生成专属的应用密码,替换代码中passwd参数的取值即可。

内容的提问来源于stack exchange,提问作者retrx22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:42:03