2012-01-24 35 views
3

林試圖在我的網站的電子郵件的形式(其本地主機現在), 當我在我的代碼運行,然後按「發送」,其拋出我這個異常:發送郵件表單異常:System.Runtime.InteropServices.COMException:??? ?????? 「SendUsing」? ?÷?

System.Runtime .InteropServices.COMException:??? ?????? 「SendUsing」 ???? ?÷?

可能是什麼問題?

這是我的代碼:

<%@ Import Namespace="System.Web.Mail" %> 

<script language="c#" runat="server"> 
    protected void Button2_Click(object sender, EventArgs e) 
    { 
     MailMessage msg = new MailMessage(); 

     msg.To = "[email protected]"; 

     msg.From = EmailTxt.Text; 

     msg.Subject = "Fun With Daniel Email: from" + UsernameTxt.Text; 

     msg.Body = MessegeBox.Text; 
     msg.BodyFormat = MailFormat.Text; 
     ErrorMessege.Text = "Sending.."; 


     System.Web.Mail.SmtpMail.Send(msg); 

     ErrorMessege.Text = "The Email Sent successfully!"; 



    } 

</script> 

<td> 
           <asp:TextBox ID="UsernameTxt" runat="server"></asp:TextBox> 
           <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ErrorMessage="Please insert a Username" 
            ControlToValidate="UsernameTxt" ForeColor="Red" Display="None" 
            SetFocusOnError="True"></asp:RequiredFieldValidator> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           Email 
          </td> 
          <td> 
           <asp:TextBox ID="EmailTxt" runat="server"></asp:TextBox> 
           <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="Please insert Password" 
            ControlToValidate="EmailTxt" ForeColor="Red" Display="None" 
            SetFocusOnError="True"></asp:RequiredFieldValidator> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           Messege 
          </td> 
          <td> 
           <asp:TextBox ID="MessegeBox" runat="server" Height="100px" TextMode="MultiLine"></asp:TextBox> 
           <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="You have to write a messege" 
            ControlToValidate="MessegeBox" ForeColor="Red" Display="None" 
            SetFocusOnError="True"></asp:RequiredFieldValidator> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <asp:Button ID="Button2" runat="server" Text="Login" OnClick="Button2_Click" /> 

          </td> 
          <td> 

           <asp:Label ID="ErrorMessege" runat="server" ForeColor="Red"></asp:Label> 
           <asp:ValidationSummary ID="ValidationSummary2" runat="server" ForeColor="Red" /> 
          </td> 

         </tr> 
+2

請注意,System.Web.Mail.SmtpMail已過時,建議通過System.Net.Mail類。 [查看更多](http://msdn.microsoft.com/en-us/library/zx6wtd80.aspx) –

回答

4

System.Web.Mail需要CDONTS和CDOSYS被發現,所以這是首先你必須在這種情況下看看。請參閱this網站以瞭解常見問題的解決方案。

事實上,有一個致力於解決這個命名空間問題的整個站點應該告訴你最好使用System.Net.Mail,這是一個本地的SMTP實現,不依賴於COM組件。除非你使用.NET 1.x,否則你應該儘可能地切換到它。

+0

謝謝,它幫助:) – thormayer

3

你設置SMTPSERVER名稱您嘗試發送過嗎?

它將被設置一樣 -

System.Web.Mail.SmtpMail.SmtpServer = "your mail server name goes here"; 

之前如何使用SmtpMail System.Web.Mail.SmtpMail.Send(msg);

例子應該能在MSDN