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

使用C# SmtpClient发邮件报5.7.54错误,求排查配置遗漏

SMTP无法中继收件人错误的配置遗漏分析

问题场景

使用以下C#代码发送邮件:

SmtpClient smtpClient = new SmtpClient(SMTPServer, SMTPPort);
smtpClient.UseDefaultCredentials = true;
smtpClient.Credentials = new NetworkCredential(SMTPUserName, SMTPassword);
MailAddress mailAddress = null;
if (!string.IsNullOrEmpty(sFromEmail))
   mailAddress = new MailAddress(sFromEmail);
else
   mailAddress = new MailAddress(SMTPEmailID);
MailMessage mailMessage = new MailMessage();
mailMessage.From = mailAddress;
mailMessage.Subject = sEmailSubject;
foreach (string toAddress in sToEmail.Split(';'))
{
  if (toAddress.Trim() != string.Empty)
    mailMessage.To.Add(toAddress);
}
mailMessage.IsBodyHtml = true;
mailMessage.Body = sEmailBody;

smtpClient.Send(mailMessage);
logText.Add(Environment.NewLine);
logText.Add("Mail sent successfully at " + DateTime.Now.ToString());
logCreation.createLogFileFromList(logText);
logText.Clear();
sErrorMessage = "Mail sent successfully";

执行后出现错误:

Mailbox unavailable. The server response was: 5.7.54 SMTP; Unable to relay recipient in non-accepted domain

遗漏的配置/错误点

  • 认证属性冲突:同时设置UseDefaultCredentials = true和Credentials会导致认证逻辑混乱,应该将UseDefaultCredentials设为false,确保使用指定的账号密码进行认证。
  • 缺少加密配置:多数现代SMTP服务器(如Office 365、企业自建服务器)强制要求SSL/TLS加密,需添加smtpClient.EnableSsl = true;,并确保使用对应加密端口(如587、465)。
  • SMTP服务器中继权限不足:错误核心是服务器不允许中继非信任域的收件人,需在SMTP服务器端配置:
    • 允许当前认证账号向外部域发送邮件(开启中继权限)
    • 将发件人所在域添加到服务器的“接受域”列表
  • 发件人地址与认证账号不匹配:部分企业SMTP服务要求发件人From地址必须与认证账号SMTPUserName属于同一域,否则会拒绝中继请求,需确保两者域名一致。

修正后的关键代码示例

SmtpClient smtpClient = new SmtpClient(SMTPServer, SMTPPort);
smtpClient.UseDefaultCredentials = false; // 禁用默认凭证
smtpClient.Credentials = new NetworkCredential(SMTPUserName, SMTPassword);
smtpClient.EnableSsl = true; // 启用SSL加密(根据服务器要求调整)
// 后续邮件构建逻辑保持不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:01:18