2011-05-26 286 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> 

如果一切正常,然後嘗試建立一個本地郵件服務器和更改設置回你的當前值。

這些答案可能會進一步幫助您:

相關問題