не удалось отправить электронное письмо в asp.net

#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 и переключитесь на вкл, возможно, тогда вы не включили менее защищенные приложения