【发布时间】:2011-07-30 14:41:16
【问题描述】:
无法建立连接,因为目标机器主动拒绝它 127.0.0.1:25 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详情: System.Net.Sockets.SocketException:否 可以建立连接,因为 目标机主动拒绝 127.0.0.1:25
来源错误:
未处理的异常是 在执行过程中产生 当前的网络请求。信息 关于原产地和位置 可以使用来识别异常 下面的异常堆栈跟踪。
堆栈跟踪:
[SocketException (0x274d): 否 可以建立连接,因为 目标机主动拒绝 127.0.0.1:25] System.Net.Sockets.Socket.DoConnect(端点 端点快照,套接字地址 套接字地址)+239
System.Net.Sockets.Socket.InternalConnect(端点 远程EP) +35
System.Net.ServicePoint.ConnectSocketInternal(布尔值 连接失败,套接字 s4,套接字 s6, Socket&socket,IPAddress&地址, ConnectSocketState 状态,IAsyncResult asyncResult,Int32 超时,异常& 例外)+224[WebException: 无法连接到 远程服务器]
System.Net.ServicePoint.GetConnection(池化流 PooledStream,对象所有者,布尔值 异步,IPAddress& 地址,Socket& abortSocket, 套接字& abortSocket6, Int32 超时)+5483819
System.Net.PooledStream.Activate(对象 owningObject,布尔异步,Int32 超时,GeneralAsyncDelegate 异步回调)+202
System.Net.PooledStream.Activate(对象 拥有对象,GeneralAsyncDelegate 异步回调)+21
System.Net.ConnectionPool.GetConnection(对象 拥有对象,GeneralAsyncDelegate asyncCallback,Int32 创建超时) +332 System.Net.Mail.SmtpConnection.GetConnection(字符串 主机,Int32 端口)+160
System.Net.Mail.SmtpTransport.GetConnection(字符串 主机,Int32 端口)+159
System.Net.Mail.SmtpClient.GetConnection() +35 System.Net.Mail.SmtpClient.Send(MailMessage 留言)+1213[SmtpException: 发送邮件失败。] System.Net.Mail.SmtpClient.Send(MailMessage 留言)+1531
Checkout.btnSend_Click(对象发送者, 事件参数 e) +2675
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 事件参数)+110
我无法在实时连接中发送电子邮件,但在我的本地工作中。
请帮帮我。
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler 源控件,字符串事件参数) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔值 includeStagesAfterAsyncPoint) +1565
版本信息:Microsoft .NET Framework 版本:2.0.50727.3615; ASP.NET 版本:2.0.50727.3618
这是我的 C# 代码..
SmtpClient SmtpMail = new SmtpClient();
SmtpMail.Host = "localhost";
//delete session cookie
Response.Cookies["session"].Expires = DateTime.Now.AddYears(-30);
SmtpMail.Send(objEmail);
【问题讨论】:
-
你的机器上还有邮件服务器吗?你试过
telnet localhost 25吗? -
你使用的是什么 SMTP 服务器?
-
...别忘了检查您的(Windows)防火墙...
-
...您的本地主机是否配置为 SMTP 服务器?
-
您可能还需要提供一些身份验证。您确定要从 localhost 发送邮件吗?