相关疑难解决方法(0)

SmtpException:无法从传输连接中读取数据:net_io_connectionclosed

我正在使用该SmtpClient库使用以下内容发送电子邮件:

SmtpClient client = new SmtpClient();
client.Host = "hostname";
client.Port = 465;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("User", "Pass);
client.Send("from@hostname", "to@hostname", "Subject", "Body");
Run Code Online (Sandbox Code Playgroud)

代码在我的测试环境中工作正常,但是当我使用生产SMTP服务器时,代码失败并显示SmtpException"发送邮件失败".内部IOException"无法从传输连接读取数据:net_io_connectionclosed".

我已经确认防火墙不是问题.端口在客户端和服务器之间打开很好.我不确定还有什么可能引发这个错误.

c# smtp

96
推荐指数
8
解决办法
18万
查看次数

通过所有端口上的C#.Net错误GMail SMTP

我一直在努力寻找这个问题,到目前为止一直在悲惨地失败.我最近的尝试是从这个堆栈代码中解除的: 通过带有C#的Gmail SMTP服务器发送电子邮件,但我已经尝试了我可以在堆栈和其他地方找到的所有语法.我的代码目前是:

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("me@gmail.com", "mypass"),
    EnableSsl = true
};

client.Send("me@gmail.com","me@gmail.com","Test", "test message");
Run Code Online (Sandbox Code Playgroud)

运行该代码给我一个立即异常"发送邮件失败",其中包含"无法连接到远程服务器"的内容.

如果我将端口更改为465(如gmail文档建议的那样),我每次都会超时.

我已经读过465不是一个好用的端口,所以我想知道这笔交易是什么让我无法连接.我的用户和通行证是对的.我已经读过我必须在我的Gmail帐户上设置POP服务,所以我这样做了.徒劳无功.

我原本试图让我的品牌GMail帐户工作,但遇到同样的问题,我认为我/我的常规Gmail帐户将更容易...到目前为止,情况并非如此.

.net c# gmail

11
推荐指数
3
解决办法
3万
查看次数

Yahoo Mail的C#SMTP电子邮件发送代码失败但对其他服务器工作正常,任何人都可以帮忙吗?

我正在使用此代码通过yahoo SMTP服务器发送SMTP电子邮件,它是我正在编写的个人项目.

using System.Net.Mail;
using System.Net;

SmtpClient theClient = new SmtpClient("smtp.mail.yahoo.com", 465);
theClient.UseDefaultCredentials = false;
theClient.Credentials = new NetworkCredential("username", "password");
theClient.EnableSsl = true;

MailMessage theMessage = new MailMessage("username@yahoo.com", 
                                         "to.someone@gmail.com");

theMessage.Subject = "Dave test from C# subject";
theMessage.Body = "Dave test from C# body";

theClient.Send(theMessage);
Run Code Online (Sandbox Code Playgroud)

这是发送SMTP电子邮件的所有标准代码,但是...服务器似乎抛出错误.它强行终止连接.如果我使用其他SMTP服务器(如Gmail,Windows Live或其他各种ISP Smtp服务器),则不会发生这种情况.

这是异常和堆栈跟踪:

System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ConsoleApplication1.Program.Main(String[] args) in E:\dev\ARCSoftware.FTPProcessor\ConsoleApplication1\Program.cs:line 28
Run Code Online (Sandbox Code Playgroud)

我知道问题不是环境问题,因为我可以使用Outlook Express将这些确切的设置发送到同一台服务器.我想知道我是否需要发送证书或其他什么?

如果您或您认识的任何人对此有任何想法,我将非常感谢您的帮助.

c# yahoo smtp smtpclient mailmessage

7
推荐指数
2
解决办法
2万
查看次数

通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

Visual Studio 2015 中的 0 代码

1 我正在使用 Mailkit 最新版本 (1.18.1.1) 从我自己的电子邮件服务器发送电子邮件。

2 电子邮件服务器具有不受信任的自签名证书。

3 我在代码中添加了以下两行,以忽略服务器证书错误:

client.ServerCertificateValidationCallback = (mysender, certificate, chain, sslPolicyErrors) => { return true; };
client.CheckCertificateRevocation = false;
Run Code Online (Sandbox Code Playgroud)

4 但我的程序仍然崩溃。

5 在电子邮件服务器日志中显示错误:

来自未知 [xxx.xxx.xxx.xxx] 的 SSL_accept 错误:连接被对等方重置

我猜这是因为服务器证书问题。因为在 Wireshark 捕获中,一旦我获得 SERVER 证书,连接就会终止。

6 我还在我的系统中安装了不受信任的电子邮件服务器证书,但问题仍然存在。

7 以下是错误的详细截图 在此输入图像描述

8 完整代码:

使用 (var client = new SmtpClient(new ProtocolLogger("logging.log")))

                    {

                        // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
                        client.ServerCertificateValidationCallback = (mysender, certificate, chain, sslPolicyErrors) => { return …
Run Code Online (Sandbox Code Playgroud)

c# ssl ssl-certificate mailkit mimekit

7
推荐指数
1
解决办法
1万
查看次数

Hmailserver C#SMTP

我只是想让我的hmailserver从我的C#程序发送邮件.杀死我的部分是SSL部分.

我最初得到这个错误: The SMTP server requires a secure connection or the client was not authenticated. The server response was: SMTP authentication is required.

所以我补充说:smtp.EnableSsl = true; 现在我明白了Server does not support secure connections.

这是我的代码,这让我疯了.我是否必须创建自己的SSL或者是否有办法在hmailserver端禁用SSL?

MailMessage mail = new MailMessage("jlnt@ademo.net", "com", "NEW Item", emailBody);
SmtpClient smtp = new SmtpClient("1.1.1.250");
smtp.Port = 25;
NetworkCredential login = new NetworkCredential("ja@test.net", "dg");
smtp.Credentials = login;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

c# smtp hmail-server

6
推荐指数
1
解决办法
5559
查看次数

用 C# 发送电子邮件 namecheap 私人电子邮件

我使用 namecheap 域名设置了私人电子邮件,但发送电子邮件时遇到问题。下面是我的代码。我错过了什么吗?我每次都会收到超时消息。

//Send email to end user
MailMessage mm = new MailMessage();
foreach(string to in toList)
{
    mm.To.Add(to);
}
mm.From = new System.Net.Mail.MailAddress("fromaddress");
mm.Subject = subject;
mm.Body = body;
mm.IsBodyHtml = true;
var smtp = new SmtpClient
{
    Host = "mail.privateemail.com",
    Port = 465,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    Credentials = new NetworkCredential("username", "pw"),
    Timeout = 20000
};
smtp.Send(mm);
Run Code Online (Sandbox Code Playgroud)

c# email

5
推荐指数
1
解决办法
2702
查看次数

使用SSL的SMTP电子邮件消息不能与ASP.NET中的GoDaddy电子邮件地址一起使用

当我尝试在我的新GoDaddy电子邮件地址上使用SSL发送STMP电子邮件时,它不起作用.我收到一条错误消息说Unable to read data from the transport connection: net_io_connectionclosed.

以下是服务器的电子邮件设置:

在此输入图像描述

这是我的web.config中包含电子邮件服务器信息的片段:

<system.net>
  <mailSettings>
    <smtp from="no-reply@mysite.com" >
      <network host="smtpout.secureserver.net" port="465" userName="no-reply@mysite.com" password="password123" enableSsl="true" />
    </smtp>
  </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

这是发送电子邮件的C#代码.

MailMessage message = new MailMessage();
message.To.Add(new MailAddress(to));
message.Subject = "Message from " + inputModel.Name;
message.Body = body;
message.IsBodyHtml = true;

using (var smtp = new SmtpClient())
{
    smtp.Send(message);
}
Run Code Online (Sandbox Code Playgroud)

端口80,3535和25在没有SSL的情况下工作正常,但四者中没有一个使用 SSL.我甚至尝试使用SSL端口587,经过相当长的一段时间它才刚刚超时.

如何使用SSL发送这些电子邮件?

c# asp.net email ssl

5
推荐指数
1
解决办法
1380
查看次数

有没有办法可以判断SMTP服务器是否期望客户端使用"隐式"SSL与"显式"SSL进行连接?

SSL可以是"显式"或"隐式",如此链接所述:

http://help.globalscape.com/help/secureserver2/Explicit_versus_implicit_SS.htm

System.Net.Mail仅支持"显式"SSL,如下所述:

http://blogs.msdn.com/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

所以,我正在尝试使用System.Net.Mail连接到我无法控制的SMTP服务器,而且它失败了.我怎么能确定它失败了,因为服务器需要"隐式"SSL连接?我可以从客户端做什么测试?

.net ssl smtp system.net

3
推荐指数
1
解决办法
8760
查看次数

使用MVC5 ASP.NET和rackspace发送电子邮件

我已经使用教程在我的MVC5应用程序联系表单中设置电子邮件并通过电子邮件发送.我不知所措.我尝试了几种不同的选择,但我只是遗漏了一些东西.非常感谢!

我的邮件主机是机架空间,其设置可在http://www.rackspace.com/apps/support/portal/1088上找到.

一切正常,除了我在SendFinalMail函数中不断收到smpt.Send(MailInfo)的错误.

SmtpException occurred
A first chance exception of type 'System.Net.Mail.SmtpException' occurred in System.dll

Additional information: The operation has timed out.
Run Code Online (Sandbox Code Playgroud)

根据评论添加StackTrace(如果您需要更多,请告诉我):

System.Net.Mail.SmtpException occurred
  _HResult=-2146233088
  _message=The operation has timed out.
  HResult=-2146233088
  IsTransient=false
  Message=The operation has timed out.
  Source=System
  StackTrace:
       at System.Net.Mail.SmtpClient.Send(MailMessage message)
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

Web.config

  <appSettings>

    <!--EMAIL SERVICES-->
    <add key="FromAddress" value="myfrom@address" />
    <add key="UserID" value="myfrom@address" />
    <add key="Password" value="myPassword" />
    <add key="SMTPPort" value="465" />
    <add key="SmtpClient" value="secure.emailsrvr.com" />
    <add key="EnableSSL" value="Yes" />
    <add key="UnobtrusiveJavaScriptEnabled" value ="true"/>
  </appSettings> …
Run Code Online (Sandbox Code Playgroud)

asp.net email asp.net-mvc email-integration

2
推荐指数
1
解决办法
1247
查看次数