首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Runtime.InteropServices.COMException:?"SendUsing“?

System.Runtime.InteropServices.COMException:?"SendUsing“?
EN

Stack Overflow用户
提问于 2012-01-24 17:59:59
回答 2查看 728关注 0票数 3

我试着在我的网站上做一个电子邮件表单(目前它是本地主机),当我运行我的代码时,按下“发送”键,就会抛出这个例外:

System.Runtime.InteropServices.COMException:?"SendUsing“?

有什么问题吗?

这是我的密码:

代码语言:javascript
复制
<%@ 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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-24 18:04:14

System.Web.Mail需要CDONTs和CDOSYS,所以在本例中您必须首先看到这一点。有关常见问题的解决方案,请参见站点。

有一个完整的站点专门处理这个命名空间的问题,这一事实应该告诉您,最好使用System.Net.Mail,它是一个本机SMTP实现,不依赖COM组件。除非您使用的是.NET 1.x,否则您应该尽可能切换到它。

票数 4
EN

Stack Overflow用户

发布于 2012-01-24 18:04:11

您是否在尝试发送之前设置SmtpServer名称?

它会被设置成-

代码语言:javascript
复制
System.Web.Mail.SmtpMail.SmtpServer = "your mail server name goes here";

应该走在System.Web.Mail.SmtpMail.Send(msg);之前

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8991710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档