出错信息:
安全性异常 
说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。 异常详细信息: System.Security.SecurityException: System.Security.Permissions.SecurityPermission源错误: 
行 42: oJmailMessage = Nothing
行 43: 
行 44: End sub
行 45: </script>
行 46: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 源文件: d:\inetpub\wwwroot\JmailSend.aspx    行: 44 
代码如下:
<script language="VB" runat="server">Sub bts(sender as object,e as system.eventargs)Dim oJmailMessage As New jmail.MessageClass() oJmailMessage.Charset = "GB2312" 
 
oJmailMessage.Encoding = "BASE64" oJmailMessage.ContentType = "text/html" 
oJmailMessage.ISOEncodeHeaders = False oJmailMessage.Priority = Convert.ToByte(1) oJmailMessage.From = TxtEmail.Text.Trim() oJmailMessage.FromName = TxtName.Text.Trim() oJmailMessage.Subject = txtSubject.Text.Trim() oJmailMessage.MailServerUserName = TxtSmtpUser.Text.Trim() oJmailMessage.MailServerPassWord = TxtSmtpPwd.Text.Trim() oJmailMessage.AddRecipient(txtReciver.Text.Trim(), "", "") 
If "" <> upFile.PostedFile.FileName Then 
    Dim attpath As String = upFile.PostedFile.FileName 
        
    oJmailMessage.AddAttachment(attpath, True, attpath.Substring(attpath.LastIndexOf(".") + 1, 3)) 
End If 
oJmailMessage.Body = txtContent.Text.Trim() If oJmailMessage.Send(TxtSmtServer.Text.Trim(), False) Then 
    Response.Write("发送成功!") 
Else 
    Response.Write("发送失败,请检查邮件服务器的设置!") 
End If oJmailMessage = NothingEnd sub
</script>

解决方案 »

  1.   

    全部代码:<script language="VB" runat="server">Sub bts(sender as object,e as system.eventargs)Dim oJmailMessage As New jmail.MessageClass() oJmailMessage.Charset = "GB2312" 
     
    oJmailMessage.Encoding = "BASE64" oJmailMessage.ContentType = "text/html" 
    oJmailMessage.ISOEncodeHeaders = False oJmailMessage.Priority = Convert.ToByte(1) oJmailMessage.From = TxtEmail.Text.Trim() oJmailMessage.FromName = TxtName.Text.Trim() oJmailMessage.Subject = txtSubject.Text.Trim() oJmailMessage.MailServerUserName = TxtSmtpUser.Text.Trim() oJmailMessage.MailServerPassWord = TxtSmtpPwd.Text.Trim() oJmailMessage.AddRecipient(txtReciver.Text.Trim(), "", "") 
    If "" <> upFile.PostedFile.FileName Then 
        Dim attpath As String = upFile.PostedFile.FileName 
            
        oJmailMessage.AddAttachment(attpath, True, attpath.Substring(attpath.LastIndexOf(".") + 1, 3)) 
    End If 
    oJmailMessage.Body = txtContent.Text.Trim() If oJmailMessage.Send(TxtSmtServer.Text.Trim(), False) Then 
        Response.Write("发送成功!") 
    Else 
        Response.Write("发送失败,请检查邮件服务器的设置!") 
    End If oJmailMessage = NothingEnd sub
    </script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>NewMail</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="NewMail" method="post" runat="server" enctype="multipart/form-data">
    <TABLE id="Table1" style="Z-INDEX: 101; LEFT: 88px; WIDTH: 421px; POSITION: absolute; TOP: 24px; HEIGHT: 79px"
    cellSpacing="1" cellPadding="1" width="421" border="1">
    <TR>
    <TD><FONT face="宋体">SMTP邮件服务器</FONT></TD>
    <TD>
    <asp:TextBox id="TxtSmtServer" runat="server" Width="195px" Height="26px">mail.netandtv.com</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="请输入SMTP邮件服务器地址!" ControlToValidate="TxtSmtServer">*</asp:RequiredFieldValidator></TD>
    </TR>
    <TR>
    <TD><FONT face="宋体">SMTP邮件用户</FONT></TD>
    <TD>
    <asp:TextBox id="TxtSmtpUser" runat="server" Width="195px" Height="26px">[email protected]</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="请输入SMTP邮件用户!" ControlToValidate="TxtSmtpUser">*</asp:RequiredFieldValidator></TD>
    </TR>
    <TR>
    <TD>SMTP邮件密码</TD>
    <TD>
    <asp:TextBox id="TxtSmtpPwd" runat="server" Width="195px" Height="26px">sxd999</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator3" runat="server" ErrorMessage="请输入SMTP邮件密码" ControlToValidate="TxtSmtpPwd">*</asp:RequiredFieldValidator></TD>
    </TR>
    <TR>
    <TD>SMTP邮件服务器端口</TD>
    <TD><FONT face="宋体">
    <asp:TextBox id="TxtSmtpPort" runat="server" Width="195px" Height="26px">25</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator4" runat="server" ErrorMessage="请输入SMTP邮件服务器端口" ControlToValidate="TxtSmtpPort">*</asp:RequiredFieldValidator></FONT></TD>
    </TR>
    <TR>
    <TD>邮件地址</TD>
    <TD>
    <asp:TextBox id="TxtEmail" runat="server" Width="195px" Height="26px">[email protected]</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator9" runat="server" ErrorMessage="请输入邮件地址" ControlToValidate="TxtEmail">*</asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator"
    ControlToValidate="TxtEmail" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator></TD>
    </TR>
    <TR>
    <TD>您的名字</TD>
    <TD><FONT face="宋体">
    <asp:TextBox id="TxtName" runat="server" Width="195" Height="26">songxd</asp:TextBox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator10" runat="server" ErrorMessage="请输入您的名字!" ControlToValidate="TxtName">*</asp:RequiredFieldValidator></FONT></TD>
    </TR>
    <TR>
    <TD><FONT face="宋体">邮件主题</FONT></TD>
    <TD>
    <asp:TextBox id="txtSubject" runat="server" Width="193px">songsongsongsogn</asp:TextBox></TD>
    </TR>
    <TR>
    <TD><FONT face="宋体">邮件内容</FONT></TD>
    <TD><FONT face="宋体">
    <asp:TextBox id="txtContent" runat="server" Width="194px">songsongsongsogn</asp:TextBox></FONT></TD>
    </TR>
    <TR>
    <TD><FONT face="宋体">附件</FONT></TD>
    <TD><FONT face="宋体"> <INPUT id="upFile" type="file" name="File1" runat="server"></FONT></TD>
    </TR>
    <TR>
    <TD><FONT face="宋体">收件人</FONT></TD>
    <TD>
    <asp:TextBox id="txtReciver" runat="server"></asp:TextBox></TD>
    </TR>
    <TR>
    <TD colSpan="2" align="center"><FONT face="宋体">
    <asp:Button id="btnSend" runat="server" Text="发送测试邮件" onclick="bts"></asp:Button></FONT></TD>
    </TR>
    <TR>
    <TD align="center" colSpan="2">
    <asp:ValidationSummary id="ValidationSummary1" runat="server" Width="269px" Height="13px"></asp:ValidationSummary></TD>
    </TR>
    </TABLE>
    </form>
    </body>
    </HTML>
      

  2.   

    I can not find any error from your code, if you can, please catch the exception and show it to us.
      

  3.   

    我也是觉得没有问题,会不会在asp.net2.0里面有新的安全规则,或者在web.config里有安全限制?
      

  4.   

    这是我在网上看到的一篇文章,但是看不懂,也无从下手
    WEB站点使用企业库安全性异常解决办法 
    WEB站点使用企业库安全性异常解决办法 
     
    我们在WEB站点使用企业库的时候,有时候会有如下的异常产生:
    安全性异常 
        说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。 异常详细信息: System.Security.SecurityException: 不允许所请求的注册表访问权。    造成这个的原因是企业库的公共项目中:Instrumentation 目录下有操作日志、性能的代码。而这些代码需要一定的权限才可以执行。解决方案:
    1、去掉这些代码。(这会是一个痛苦的经历,代码割舍不清呀)
    2、给IUSR 帐户访问注册表的权限(安全问题呀!)
    我们当然不推荐这2个做法:3、运行企业库中的Install Service。但是这种方法需要安装企业库和VS.NET在服务器上。这种方法也不推荐。我们推荐的做法:重新编译 Microsoft.Practices.EnterpriseLibrary.Common 项目,编译时把其中 Conditional Compilation Constants 设置中除 DEBUG;TRACE 外的其他项都去掉。默认的 Conditional Compilation Constants 设置是如下几个: 
    DEBUG;TRACE;USEWMI;USEEVENTLOG;USEPERFORMANCECOUNTER