#c# #asp.net #email #webforms
#c# #asp.net #Адрес электронной почты #веб-формы
Вопрос:
<div id="id04" class="modal">
<form class="modal-content" action="#">
<span onclick="document.getElementById('id04').style.display='none'" class="close" title="Close Modal">amp;times;</span>
<div class="modalcontainer">
<p style="font-family: 'Playfair Display', serif; font-size: 20px;">Reset Password</p>
<asp:TextBox ID="txt_resetEmail" CssClass="inputtxt" PlaceHolder="Email Address" runat="server" TextMode="Email"></asp:TextBox>
<asp:TextBox ID="txt_resetPassword" CssClass="inputtxt" PlaceHolder="New Password" runat="server" TextMode="password" pattern="(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,}" ></asp:TextBox>
<asp:TextBox ID="txt_confirmNewPassword" CssClass="inputtxt" PlaceHolder="Confirm Password" runat="server" TextMode="password"></asp:TextBox>
<asp:CompareValidator
ID="CompareValidator2"
runat="server"
ErrorMessage="Passwords do not match."
ControlToValidate="txt_confirmNewPassword"
ControlToCompare="txt_resetPassword"
Operator="Equal" Type="String"
ForeColor="Red">
</asp:CompareValidator>
<asp:Button ID="Button1" class="btnsignin" runat="server" Text="Confirm" OnClick="btnSignIn_Confirm"/>
//when the user clicks on this button, email is being sent
</div>
<div class="register">
Don't have an account?
<a onclick="document.getElementById('id01').style.display='none';document.getElementById('id02').style.display='block';">Create an Account
</a>
<br />
<a style="color: #EC7063; font-size: 12px;"
onclick="document.getElementById('id01').style.display='none';document.getElementById('id03').style.display='block';">Sign in as Admin</a>
</div>
</form>
</div>
// внутренний код в MasterPage.master.cs
protected void btnSignIn_Confirm(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("come in");
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add("to email");
mail.From = new MailAddress("from email", "head", System.Text.Encoding.UTF8);
mail.Subject = "This mail is send from asp.net application";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "This is Email Body Text";
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("from email", "password");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
try
{
client.Send(mail);
System.Diagnostics.Debug.WriteLine("Can send email");
}
catch (Exception)
{
System.Diagnostics.Debug.WriteLine("soemthing wrong");
}
}
система.Диагностика.Writeline(«») также ничего не записывает в мой вывод, поэтому я понятия не имею, куда идет мой код
когда я нажимаю на кнопку, моя веб-страница просто обновляется, и ничего не отображается, я создал реальное электронное письмо для «mail.from» в своем коде и использую свой личный адрес электронной почты в качестве «почты.Добавить». Но я ничего не получил
Комментарии:
1. Есть ли у вас многофакторная аутентификация в вашем аккаунте Google? Затем посмотрите, можете ли вы создать приложение-пароль для использования здесь
2. создайте файловый журнал для проверки исключений — возможно, вы пытаетесь неправильно прочитать информацию об отладке
Ответ №1:
Сначала попробуйте включить менее безопасные приложения для своей учетной записи Google, чтобы перейти по этой ссылке, если это не сработает, попробуйте указать значение хоста в конструкторе SmptClient вместо выполнения
client.Host = "smtp.gmail.com";
сделать
SmtpClient client = new SmtpClient("smtp.gmail.com");
Комментарии:
1. затем перейдите по этой ссылке myaccount.google.com/lesssecureapps и переключитесь на вкл, возможно, тогда вы не включили менее защищенные приложения