Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# 尝试使用c从aspx页面发送电子邮件时出错,无法解析远程名称:';www.blabla.foo';_C#_Asp.net - Fatal编程技术网

C# 尝试使用c从aspx页面发送电子邮件时出错,无法解析远程名称:';www.blabla.foo';

C# 尝试使用c从aspx页面发送电子邮件时出错,无法解析远程名称:';www.blabla.foo';,c#,asp.net,C#,Asp.net,我已经用c#在aspx中创建了一个注册页面。我写了这个简单的代码来在注册后发送邮件,但它不起作用。我知道这很容易受到SQL注入的攻击,但请忽略我只是想测试电子邮件的发送方式。 它显示出错误 无法解析远程名称:“www.blabla.foo” 请告诉我什么是错误,我有什么修改,以便我可以发送电子邮件 FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "//uploadimage//" + str); string path = "../Alum

我已经用c#在aspx中创建了一个注册页面。我写了这个简单的代码来在注册后发送邮件,但它不起作用。我知道这很容易受到SQL注入的攻击,但请忽略我只是想测试电子邮件的发送方式。 它显示出错误 无法解析远程名称:“www.blabla.foo”

请告诉我什么是错误,我有什么修改,以便我可以发送电子邮件

FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "//uploadimage//" + str);
string path = "../Alumni/uploadimage/" + str.ToString();
con.Open();
SqlCommand cmd = new SqlCommand("insert into highly-sql-injection-prone-table...", con);
cmd.ExecuteNonQuery();
con.Close();

MailMessage msg;
SqlCommand cmd1 = new SqlCommand();
string ActivationUrl = string.Empty;
string emailId = string.Empty;
cmd1.Parameters.AddWithValue("@Name", TextBox5.Text.Trim());
cmd1.Parameters.AddWithValue("@EmailId", TextBox1.Text.Trim());
cmd1.Parameters.AddWithValue("@Password", TextBox3.Text.Trim());
if (con.State == ConnectionState.Closed)
{
    con.Open();
}
cmd.ExecuteNonQuery();
msg = new MailMessage();
SmtpClient smtp = new SmtpClient();
emailId = TextBox1.Text.Trim();
msg.From = new MailAddress("info@blablabla.foo");
msg.To.Add(emailId);
msg.Subject = "Confirmation E-mail";
msg.Body = "Hi";
msg.IsBodyHtml = true;
smtp.Credentials = new NetworkCredential("info@blablabla.foo", "***************");
smtp.Port = 587;
smtp.Host = "smtp.blablabla.foo";
smtp.EnableSsl = true;
smtp.Send(msg);
ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", 
    "alert('Confirmation Link to activate your account has been sent to your email address');", true);
con.Close();

Session["New"] = TextBox1.Text;
Response.Redirect("Successfull.aspx");

该错误表示域解析失败,并且错误消息与您的代码不对应。使用NSLOOKUP运行快速检查时,stjosephschoolrkl.org上似乎不存在smtp名称。在NSLOOKUP工具中使用type=MX,然后询问它关于stjosephschoolrkl.org的信息,这表明邮件服务器的名称只是stjosephschoolrkl.org,没有SMTP。然后,我成功地通过587端口远程登录到stjosephschoolrkl.org,并成功地键入了EHLO,从MailEnable电子邮件服务器获得了标准的电子邮件服务器响应


这么简单的回答,从你的smtp.Host行中删除“smtp.”,你就可以开始了。

代理服务器未启用可能是当我在stjosephschoolrkl.org上使用
type=MX
执行
nslookup
时,我得到的MX条目是
mail.stjosephschoolrkl.org
。也许你应该检查一下smtp.Host是否设置错误。