使用Microsoft365 Direct Send发邮件遇Relay not permitted问题排查
排查要点整理
针对你遇到的“Relay Not Permitted”异常,结合已有打印机验证可行的前提,按优先级排查以下内容:
- IP白名单验证:确认你的应用运行机器的IP已被IT添加到SMTP服务器的中继允许列表中。打印机的IP大概率在白名单内,而开发机/部署机器可能未被纳入。
- SmtpClient凭证配置:在代码中添加
smtp.UseDefaultCredentials = false;,避免默认使用当前用户凭证导致认证冲突(因为IT明确无需认证)。 - 发件人地址合规性:检查发件人地址的域名是否为公司内部认可的合法域名,是否符合IT指定的noreply格式(比如是否必须使用
noreply@yourcompany.com这类官方虚拟地址,而非随意的内部域名地址)。 - 端口与加密设置:尝试修改端口为587并启用SSL:
部分内部SMTP服务会要求STARTTLS加密,而25端口可能未开放无加密中继。smtp.Port = 587; smtp.EnableSsl = true; - 网络环境一致性:确认应用所在机器和打印机处于同一网络环境(比如是否都在公司内网,未使用VPN或外部网络访问SMTP服务器)。
- 中继规则细节确认:和IT核对SMTP服务器的中继规则,比如是否仅允许特定发件人域名、是否要求收件人必须严格属于内部域、是否有客户端类型限制(比如仅允许设备类客户端,而非桌面应用)。
- 收件人地址校验:再次确认收件人邮箱后缀是否为公司内部域,避免被SMTP服务器判定为外部地址而拒绝中继。
内容的提问来源于stack exchange,提问作者Eck_FG
相关产品推荐
相关产品推荐

