C# SMTP服务器需要安全连接,或者客户端未通过身份验证。
我正在asp中使用“createuserwizard”创建表单。这是我的代码C# SMTP服务器需要安全连接,或者客户端未通过身份验证。,c#,smtp,mail-server,C#,Smtp,Mail Server,我正在asp中使用“createuserwizard”创建表单。这是我的代码 <asp:CreateUserWizard ID="userwizard" ContinueDestinationPageUrl="~/secretfiles/secret.aspx" runat="server" > <MailDefinition BodyFileName="register.txt" Subject="Registration Confirmation" From="am
<asp:CreateUserWizard ID="userwizard" ContinueDestinationPageUrl="~/secretfiles/secret.aspx" runat="server" >
<MailDefinition BodyFileName="register.txt" Subject="Registration Confirmation" From="amrit.enest@gmail.com" />
</asp:CreateUserWizard>
现在,当一个新用户单击submit按钮时,它会给出以下错误消息,邮件不会被发送
SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.0必须首先发出STARTTLS命令。ud8sm21095949igb.4
请帮助大家。使用启用ssl=“true”
,如下所示:
<mailSettings>
<smtp deliveryMethod="Network" from="amrit.enest@gmail.com">
<network enableSsl="true" host="smtp.gmail.com" port="25" userName="amrit.enest@gmail.com" password="sending emails's password" />
</smtp>
</mailSettings>
服务器需要SSL,因此您需要将其添加到配置中:
<mailSettings>
<smtp deliveryMethod="Network" from="amrit.enest@gmail.com">
<network host="smtp.gmail.com" port="25" userName="amrit.enest@gmail.com"
password="sending emails's password" enableSsl="true" />
</smtp>
</mailSettings>
有关详细信息,请参阅
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
MailAddress from = new MailAddress("your mail address@mail.com");
SmtpClient clientobj = new SmtpClient("smtp.gmail.com");
mail.From = from;
mail.To.Add(new MailAddress(" to mail address@gmail.com"));
mail.Subject = "example gridview";
mail.Body+="Please check below data <br/><br/>";
mail.Body += getgridviewdata(gv1);
mail.IsBodyHtml = true;
clientobj.Credentials = new System.Net.NetworkCredential("your mailaddress@gmail.com", "your email password");
clientobj.Port =587;
clientobj.EnableSsl = true;
clientobj.Send(mail);
}
您还可以在源代码中编写以下内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="example.aspx.cs" Inherits="example" EnableEventValidation="false" %>
要么您的密码不正确,要么您可以,我不知道-使用安全smtp端口465谢谢。现在可以使用了。现在请帮助理解这段代码。我假设它在以下流程中工作。localhost请求smtp.gmail.com(服务器)发送电子邮件(用户名、密码),接收电子邮件地址,将邮件发送到目的地。我说的对吗?请让我知道这是我的电脑或smtp.gmail.com的端口号?再次感谢。下次请注意正确的代码格式:单击问号,然后单击高级格式设置以了解操作方法:-)
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
MailAddress from = new MailAddress("your mail address@mail.com");
SmtpClient clientobj = new SmtpClient("smtp.gmail.com");
mail.From = from;
mail.To.Add(new MailAddress(" to mail address@gmail.com"));
mail.Subject = "example gridview";
mail.Body+="Please check below data <br/><br/>";
mail.Body += getgridviewdata(gv1);
mail.IsBodyHtml = true;
clientobj.Credentials = new System.Net.NetworkCredential("your mailaddress@gmail.com", "your email password");
clientobj.Port =587;
clientobj.EnableSsl = true;
clientobj.Send(mail);
}
public string getgridviewdata(GridView gv)
{
StringBuilder strBuilder = new StringBuilder();
StringWriter strWriter = new StringWriter(strBuilder);
HtmlTextWriter htw = new HtmlTextWriter(strWriter);
gv.RenderControl(htw);
return strBuilder.ToString();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="example.aspx.cs" Inherits="example" EnableEventValidation="false" %>