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

C# ASP.Net邮件报错“Unable to connect to the remote server”解决求助

解决1und1主机上ASP.NET发送邮件“Unable to connect to the remote server”的问题

我之前帮好几个开发者解决过1und1共享主机上ASP.NET发邮件的类似故障,结合你的场景(本地正常、线上报错、换端口无效),给你几个针对性的排查和修复方向:

  • 必须使用1und1官方SMTP服务器:这是最容易踩的坑!1und1的共享主机不允许直接连接外部SMTP服务(比如Gmail、Outlook的服务器),强制要求用他们自己的SMTP。官方地址是smtp.1und1.de,推荐用587端口(TLS加密)或者465端口(SSL加密),而且必须验证你的1und1邮箱账号和密码——别用第三方邮箱的凭据,完全没用。

  • 检查代码里的SMTP配置细节:确保加密设置和端口匹配,比如用587端口时必须开启EnableSsl = true,以下是一个验证过的示例代码:

    // 先强制启用TLS 1.2(针对.NET Framework 4.5及以下版本,1und1要求这个加密版本)
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    
    using (var smtpClient = new SmtpClient("smtp.1und1.de", 587))
    {
        smtpClient.Credentials = new NetworkCredential("your-full-1und1-email@your-domain.de", "your-email-password");
        smtpClient.EnableSsl = true;
        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    
        var mailMessage = new MailMessage(
            "sender@your-domain.de",
            "recipient@example.com",
            "测试邮件",
            "这是从1und1主机发送的测试内容"
        );
    
        smtpClient.Send(mailMessage);
    }
    

    如果用465端口,注意有些旧版SmtpClient需要额外配置SSL的兼容性,不过587端口的兼容性更好,优先用这个。

  • 排查主机的出站端口限制:1und1会封锁除了他们指定SMTP端口之外的出站连接,所以你换其他外部SMTP的端口(比如25、587)都是白搭——因为根本连不出去。别浪费时间试外部服务器,就用他们自己的。另外,如果短时间内发送大量邮件,可能会触发主机的频率限制,先测试发送单封邮件试试。

  • 确认.NET版本和TLS支持:如果你的项目用的是.NET Framework 4.5以下版本,默认不支持TLS 1.2,而1und1的SMTP现在只接受TLS 1.2及以上的连接,所以必须在代码开头加上强制启用TLS 1.2的代码(就是上面示例里的那行)。如果是.NET Core/.NET 5+,这个问题不存在,默认已经支持。

  • 检查邮箱账号状态:确保你的1und1邮箱是激活状态,没有被冻结。如果开启了两步验证,需要在1und1后台生成专门的“应用密码”来用于SMTP验证,普通登录密码会失效。

如果以上都试过还是不行,建议先在1und1的主机控制面板里测试发送邮件(一般有自带的邮件测试功能):如果面板里能发,那就是代码配置还有问题;如果面板里也发不了,直接联系1und1客服排查账号或主机的权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:52:58