2011-05-26 287 views
0

使用此代码(System.Net.Mail):ASP电子邮件System.Net.Mail

SmtpClient client = new SmtpClient(); 
client.Send(MyMessage); 

我得到这个错误:

System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:25

的Web.config条目。

工作代码。

 { 
    string body = ""; 
    body = "<table border='0' align='center' cellpadding='2' style='border-collapse: collapse' bordercolor=''#111111' width='100%' id='AutoNumber1'>"; 
    body = body + "<tr><td width='100%' align='center' colspan='6'><b>Feed Back Form</b></td></tr>"; 
    body = body + "<tr><td width='100%' colspan='6'>&nbsp;</td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Name</td><td width='50%' colspan='4'><b>" + name.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Address</td><td width='50%' colspan='4'><b>" + Address.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>City</td><td width='50%' colspan='4'><b>" + City.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>State</td><td width='50%' colspan='4'><b>" + State.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Country</td><td width='50%' colspan='4'><b>" + Country.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Zip/Pin Code</td><td width='50%' colspan='4'><b>" + ZipCode.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Phone</td><td width='50%' colspan='4'><b>" + Phone.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>E-Mail</td><td width='50%' colspan='4'><b>" + email.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Website URL (If Any)</td><td width='50%' colspan='4'><b>" + weburl.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>How did you know about Country Oven?</td>"; 
    body = body + "<td width='50%'><b>" + radiobutn.SelectedItem.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Your feedback/suggestions for the site</td>"; 
    body = body + "<td width='50%' colspan='4'><b>" + txtsugg.Text + "</b></td></tr>"; 
    body = body + "<tr><td width='50%' colspan='2'>Query (If you have any)</td>"; 
    body = body + "<td width='50%' colspan='4'><b>" + query.Text + "</b></td></tr></table>"; 
    MailMessage message = new MailMessage(); 
    message.To = "[email protected]"; 
    message.From = email.Text; 
    message.Subject = "ContactUs Form"; 
    message.BodyFormat = MailFormat.Html; 
    message.Body = body; 
    SmtpMail.SmtpServer.Insert(0, ""); 
    SmtpMail.Send(message); 
    // lblmsg.Text = "Message sent successfully"; 
    RegisterStartupScript("startupScript", "<script language=JavaScript>alert('Message sent successfully.');</script>"); 
    clear(); 
} 


<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="Network"> 
     <network defaultCredentials="True" host="LocalHost" port="25" /> 
     </smtp> 
    </mailSettings> 
</system.net> 

出了什么问题?

回答

2

确保您的防火墙允许端口25.此外,SMTP服务已配置并正在本地计算机上运行。

+0

我有两个ASPX形式,一种使用网络邮件和一个使用net.mail。 使用网络邮件的表单仍然有效。所以,我不认为这是一个服务问题。 – Jack 2011-05-26 20:02:12

+0

@Jack - 你可以从你的其他表单中添加工作代码吗? – Mr47 2011-05-26 20:05:35

0

如果它在同一台计算机上正常工作,然后再离开不推荐的方法,那么我会假定.NET发送邮件的默认配置与旧配置的默认配置不同。

也许尝试删除webconfig中的传递方法条目并使用默认方法。

我已经连接过,并且从未指定过任何地址,主机,用户名和密码。

+0

我有两个aspx表单,一个使用web邮件,一个使用net.mail。 使用网络邮件的表单仍然有效。所以,我不认为这是一个服务问题。 – Jack 2011-05-26 20:00:59

+0

我会查找旧方法和新方法之间的默认值,并查看它们的不同之处。由于他们使用Web配置的相同配置部分,所以它们必须是它们两者的行为方式之间的区别,并且我认为最大的区别将是默认配置问题。 – 2011-05-26 20:06:20

1

也许你只是没有在你的本地主机上运行SMTP服务器。

1

您可能没有运行smtp服务器。尝试,如果倾销对磁盘作品文件:

<mailSettings> 
    <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <specifiedPickupDirectory pickupDirectoryLocation="c:\Temp\mail\"/> 
    </smtp> 
</mailSettings> 

如果一切正常,然后尝试建立一个本地邮件服务器和更改设置回你的当前值。

这些答案可能会进一步帮助您:

相关问题