簡體   English   中英

發送郵件表單異常:System.Runtime.InteropServices.COMException:??? ?????? “SendUsing”???? ?÷?

[英]Send mail form exception : 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 = "XXX@gmail.com";

        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>

System.Web.Mail需要CDONT和CDOSYS,所以這是你在這種情況下首先要看的東西。 請參閱站點以獲取常見問題的解決方案

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

您在嘗試發送之前是否設置了SmtpServer名稱?

它將被設置為 -

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

並且應該在System.Web.Mail.SmtpMail.Send(msg);之前System.Web.Mail.SmtpMail.Send(msg);

有關如何使用SmtpMail的示例可以在MSDN上找到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM