Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp联系人页面在本地工作,但不在服务器上工作_C#_Asp.net - Fatal编程技术网

C# Asp联系人页面在本地工作,但不在服务器上工作

C# Asp联系人页面在本地工作,但不在服务器上工作,c#,asp.net,C#,Asp.net,我在网上找到了一个asp网站和一个asp中的联系人表单。它在本地机器上运行良好 我把它添加到我的服务器上进行现场测试,但它不起作用。我得到了显示错误的显示消息,它说: System.Security.SecurityException:请求类型的权限 'System.Net.Mail.SmtpPermission,系统,版本=4.0.0.0, 区域性=中性,PublicKeyToken=b77a5c561934e089'失败。在 System.Security.CodeAccessSecurit

我在网上找到了一个asp网站和一个asp中的联系人表单。它在本地机器上运行良好

我把它添加到我的服务器上进行现场测试,但它不起作用。我得到了显示错误的显示消息,它说:

System.Security.SecurityException:请求类型的权限 'System.Net.Mail.SmtpPermission,系统,版本=4.0.0.0, 区域性=中性,PublicKeyToken=b77a5c561934e089'失败。在 System.Security.CodeAccessSecurityEngine.Check(对象需求, stackcrawmark&stackMark,布尔值isPermSet)位于 System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission 盖、堆垛标记和堆垛标记) System.Security.CodeAccessPermission.Demand()位于 System.Net.Mail.SmtpClient.Initialize()位于 System.Net.Mail.SmtpClient..ctor(字符串主机,Int32端口)位于 contact.btnSubmit\u在中单击(对象发送者、事件参数) g:\pleskvhosts\myweburl\httpdocs\contact.aspx.cs:操作的第33行 失败的是:请求第一个失败的权限的类型 是:System.Net.Mail.SmtpPermission所属程序集的区域 失败的是:我的计算机

有人知道这是什么意思吗

我的contact.aspx.cs代码是

protected void btnSubmit_Click(object sender, EventArgs e)
{
    try
    {
        MailMessage mailMsg = new MailMessage();

        mailMsg.From = new MailAddress(TheirEmail.Text);

        mailMsg.To.Add("myemailaddress@gmail.com");

        mailMsg.IsBodyHtml = true;

        mailMsg.Subject = "Contact Question!";

        mailMsg.Body = "Contact Details" + "<b>Name:</b>" + TheirName.Text + " <br/> <b>Email - address :</b>" + TheirEmail.Text + "<br/> <b>Comments :</b>" + Comments.Text;

        SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);

        mailMsg.Priority = MailPriority.Normal;

        smtp.Credentials = new System.Net.NetworkCredential("myemailaddress@gmail.com", "mypassword");

        smtp.Timeout = 25000;

        smtp.EnableSsl = true;

        smtp.Send(mailMsg);

        TheirEmail.Text = "";
        TheirName.Text = "";
        Comments.Text = "";


        DisplayMessage.Text = "Thank you. Your contact details and feed back has been submitted.";
        DisplayMessage.Visible = true;
    }

    catch (Exception ex)
    {
        DisplayMessage.Text = ex.ToString();
        DisplayMessage.Visible = true;
    }
protectedvoid btnSubmit\u单击(对象发送方,事件参数e)
{
尝试
{
MailMessage mailMsg=新邮件();
mailMsg.From=新的邮件地址(TheirEmail.Text);
mailMsg.To.Add(“myemailaddress@gmail.com");
mailMsg.IsBodyHtml=true;
mailMsg.Subject=“联系问题!”;
mailMsg.Body=“联系人详细信息”+”姓名:“+TheirName.Text+”
电子邮件地址:“+TheirEmail.Text+”
评论:“+Comments.Text”; SmtpClient smtp=新的SmtpClient(“smtp.gmail.com”,587); mailMsg.Priority=MailPriority.Normal; smtp.Credentials=新系统.Net.NetworkCredential(“myemailaddress@gmail.com“,“我的密码”); smtp.Timeout=25000; smtp.EnableSsl=true; smtp.Send(mailMsg); TheirEmail.Text=“”; TheirName.Text=“”; 评论。文本=”; DisplayMessage.Text=“谢谢。您的联系方式和反馈信息已提交。”; DisplayMessage.Visible=true; } 捕获(例外情况除外) { DisplayMessage.Text=ex.ToString(); DisplayMessage.Visible=true; }
确保您的
Web.Config
文件的
信任级别设置为
完整


.....
例如,如果使用的是
GoDaddy
,则必须在
System.Net.Mail.SmtpClient
变量(例如*smtp*)中设置以下内容:

SmtpClient smtp=新的SmtpClient(“relay hosting.secureserver.net”,25);
smtp.EnableSsl=false;//检查您的ISP是否支持SSL
您还需要按照此页面
GoDaddy
上正确配置电子邮件

在某些情况下,如果您无法获得
完全信任
,则较低的安全级别将不允许您指定SMTP端口。您的ISP指定端口80,但有时如果80不起作用,您可以使用默认端口端口25

执行此操作

mm.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = relay-hosting.secureserver.net;
smtp.EnableSsl = false;

我的Web.Config文件不包含这些词。这就是它包含的全部内容。originUrl=“”需要包含我的网站url吗?还是保留为空?保留为空,您也可以回答我的问题吗?我的ISP是Sky(来自英国的im)我的ip端口确认我使用的是端口80。它仍然不是wokring吗?设置smtp.EnableSsl=false;也许你的ISP不支持此功能?也可以尝试端口25。我在谷歌上搜索了我的ISP,它显然支持SSL。我将更改端口,看看是否有任何东西工作正常。你的ISP可以支持SSL,但SSL不是免费的。这并不意味着你的帐户有SSL。所以请ase try smtp.EnableSsl=false;