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

从C#控制台应用向Mail.com发送邮件时遇SMTP认证错误

问题排查方案

1. 修正属性设置顺序

SmtpClient的UseDefaultCredentials默认值为true,如果先配置Credentials再将UseDefaultCredentials设为false,会清空已设置的登录凭据。调整代码顺序:

SmtpClient smtpClient = new SmtpClient(smtpHost, smtpPort)
{
    UseDefaultCredentials = false, // 必须优先设置此项
    Credentials = new NetworkCredential(EmailUser, EmailPassword),
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network
};

2. 核对Mail.com官方SMTP参数

确保使用Mail.com指定的标准参数:

  • SMTP主机:smtp.mail.com
  • 端口选择:
    • SSL加密端口:465
    • STARTTLS加密端口:587
      两种端口均需保持EnableSsl = true,不要混淆端口与加密方式的对应关系。

3. 验证登录凭据格式

EmailUser必须填写完整的邮箱地址(例如your_account@mail.com),不能仅输入用户名前缀。同时确认密码大小写、特殊字符完全匹配,无输入错误。

4. 强制启用高版本TLS

部分服务器要求使用TLS 1.2及以上版本,.NET Framework默认可能未开启。在代码开头添加以下语句强制启用:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:14:57