0

我用 VWD 写了一个小网站。我正在使用 VWD 的本地主机功能在我的家用机器上运行它。它运行完美。

现在是背景故事。我有一个带有 gatorhost 的 linux 服务器。我让他们将我的域和服务器类型切换到 windows,因为我决定学习 asp.net(c#)。我在电话上遇到了一百万个问题。当您搜索我的域时无法连接的问题以及我的电子邮件功能和 ftp 功能都搞砸了,他们花了好几个小时才在多个电话和工单中解决这个问题。

所以现在我认为我已经完成了所有工作,我通过 VWD 将我的网站加载到我的服务器 (www.contentiousweb.com) 上,就表单验证和链接而言,我所有的前端代码都可以正常工作。

当我点击将执行我的 c# 代码的提交按钮时,什么也没有发生。不是一回事。当表格填写错误时,验证工作。我没有错误或任何东西。我喜欢不知道从哪里开始。是我在服务器上的代码吗?我能在多大程度上依赖 VWD 是正确的,因为我不能依赖我自己,哈哈。

网络配置文件。(我换掉了我的密码和电子邮件)

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="Ralph &lt;********@hotmail.com&gt;">
<network enableSsl="true" host="smtp.live.com" userName="*************@hotmail.com" password="***********" port="587" />
</smtp>
</mailSettings>
</system.net>

波纹管是按钮。

protected void Button1_Click(object sender, EventArgs e)
{

if (Page.IsValid)
{
string fileName = Server.MapPath("_TextFiles/ContactForm.txt");
string mailBody = File.ReadAllText(fileName);

mailBody = mailBody.Replace("##Name##", nameBox.Text);
mailBody = mailBody.Replace("##Email##", emailBox.Text);
mailBody = mailBody.Replace("##Subject##", subBox.Text);
mailBody = mailBody.Replace("##Message##", MsgField.Text);

MailMessage myMessage = new MailMessage();
myMessage.Subject = "Response from  Contact Page";
myMessage.Body = mailBody;

myMessage.From = new MailAddress("******", "Contact");
myMessage.To.Add(new MailAddress("******", " Server"));

SmtpClient mySmtpClient = new SmtpClient();
mySmtpClient.Send(myMessage);

Message.Visible = true;
ContactTable.Visible = false;
System.Threading.Thread.Sleep(5000);

}
}

}

任何帮助将不胜感激。我是新手,正在学习,但根据我的经验和与 hostgator 的问题,我认为这是有问题的,因为其他一切都是如此。我一无所知。

如果我可以提供更多信息,请告诉我。感谢您的任何帮助

在我自己的故障排除中,我刚刚使用 mozila 开发工具发现了这个错误。

[18:03:28.399] Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500 @ http://contentiousweb.com/ScriptResource.axd?d=EJBSV2JIVC3wCtbtVqDWEZfeOsqUeA-l1kZnjjZKvx15e0cjnzPdj4H78hvszmtfrIhAM96VdUstdDjn1xGAbsydMzIjEQeNWDOz2tihnjEjxDW5esVemHLoHR01oIyUBoZTNPd7atx4-EPBnuVlWYbQIeLdoH_eBXy1j9kav6ac2ptv4Cl8sraaDBGXntVH0&t=ffffffff940d030f:1507

感谢您的任何帮助,我仍在寻找自己的答案。

4

2 回答 2

3

我搞定了。在与 gatorhost 通了四个小时的电话后,我们确定他们提供给我的 smtp 信息不起作用。他们让我把我的主人换成

<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network  host="localhost" userName="*************@hotmail.com" password="***********" port="25" />
</smtp>
</mailSettings>
</system.net>

现在一切正常,没有错误。感谢所有帮助提出想法的人。

于 2012-05-30T18:02:37.347 回答
0

我在您的代码中没有看到分配端口号或凭据?

这段代码应该可以工作

// SMTP options
string Host = "smtp.mail.emea.microsoftonline.com";
Int16 Port = 587;
bool SSL = true;
string Username = "myname@mydomain.com";
string Password = "mypassword";

// Mail options
string To = "reciever@recieverdomain.com";
string From = "myname@mydomain.com";
string Subject = "This is a test";
string Body = "It works!";

MailMessage mm = new MailMessage(From, To, Subject, Body);
SmtpClient sc = new SmtpClient(Host, Port);
NetworkCredential netCred = new NetworkCredential(Username, Password);
sc.EnableSsl = SSL;
sc.UseDefaultCredentials = false;
sc.Credentials = netCred;

try
{
   Console.WriteLine("Sending e-mail message...");
  sc.Send(mm);
}
catch (Exception ex)
{
   Console.WriteLine("Error: {0}", ex.ToString());
}
于 2012-05-29T22:17:22.187 回答