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

DigitalOcean Droplet通过Office365 SMTP发信被收件方拒收问题排查

DigitalOcean Droplet 使用Office365 SMTP发信失败问题排查

问题初始表现

我在DigitalOcean Droplet上部署的发信服务出现异常,本地使用相同配置可正常发信,初始唯一差异是Droplet上的传输配置新增了填写域名的name参数,发送的邮件既无法送达收件箱,也没有进入垃圾邮件文件夹。
更新:移除name参数后问题仍然存在。

发信接口返回结果

{
    accepted: [ 'toemail@email.com' ],
    rejected: [],
    envelopeTime: 176,
    messageTime: 337,
    messageSize: 27416,
    response: '250 2.0.0 OK <31ccdd12-a4f2-bf72-9064-b7a3a7857eb8@mydomain.com> 
    [Hostname=microsoft365hostname]',
    envelope: { from: 'email@mydomain.com', to: [ 'toemail@email.com' ] },
    messageId: '<31ccdd12-a4f2-bf72-9064-b7a3a7857eb8@mydomain.com>'
}

Nodemailer传输配置

function getTransporter() {
    return nodemailer.createTransport({
        name: "mydomain.com",
        host: "smtp.office365.com",
        port: 587,
        auth: {
            user: user,
            pass: pass
        },
        tls: true,
    });
}

UFW防火墙配置

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
27017                      ALLOW       //mypersonalipaddress for mongo           
22/tcp (v6)                ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             

587                        ALLOW OUT   Anywhere                  
587 (v6)                   ALLOW OUT   Anywhere (v6)

前期排查信息

已确认DigitalOcean官方未封禁25和587端口。
我最初有疑问:如果Droplet的IP被列入黑名单,邮件是否至少会进入垃圾邮件文件夹?后续扫描IP发现有3个第三方平台将该IP拉黑,疑似是此前将域名NS从Godaddy切换到DigitalOcean导致,目前已换回Godaddy的NS,仅通过A记录指向Droplet IP。

更新:获取到Office365投递日志如下:

发件人:support@mydomain.org
收件人:myemail@yahoo.com

流转状态:已接收 -> 已处理 -> 未送达

状态说明:Office365已接收到指定邮件,但因以下错误无法投递到收件人(myemail@yahoo.com):
错误:邮件未送达。
已向support@mydomain.org发送未送达报告(NDR),NDR中可能包含投递失败的具体原因及修复方案。

更多信息:请发件人(support@mydomain.org)按照NDR中的说明修复问题,NDR可能也包含面向邮件管理员的特定信息。如果发件人无法自行解决问题,请让其转发NDR给你,再按照邮件管理员指南排查。

时间(UTC-05:00) | 事件 | 详情
------------------------------------
2021/10/31 16:16 | 失败 | 邮件未送达

附加信息
消息ID:<7e6d8c35-7824-6df7-bb08-236af8fbe9ee@mydomain.org>
邮件大小 | 发件IP | 收件IP
‎28.17‎ KB | mydropletip | null

更新:获取到NDR退信邮件内容如下:

您的邮件未送达,因为收件方邮件服务商拒收了该邮件。
远程服务器返回错误:550 5.7.708 服务不可用。访问被拒绝,当前IP发出的流量不被接受

最终解决方案

目前已改用SendGrid完成域名授权后,通过其API在Droplet上正常发信,推测问题根源是Droplet的IP地址被拉黑,DigitalOcean官方本身也不推荐直接用Droplet搭建邮件服务。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:15:01