ошибка при попытке отправить электронное письмо с использованием smtp 'System.Net.Mail.SmtpException' в System.dll - PullRequest
0 голосов
/ 26 февраля 2019

пытается отправить электронное письмо для восстановления пароля по протоколу smpt в c #, и по какой-то причине я не могу понять, что это правильно.Я буду очень признателен, если кто-то может помочь.Это то, на что я рассчитывал на .А вот код:

enter cpublic void sendEmailWithPass( string username , string email , string password)
    {
        try
        {
            var fromAddress = new MailAddress("xxx", "xxx");
            var toAddress = new MailAddress(email, "CLIENT!");
            const string fromPassword = "xxx";
            string subject = "recover password";
            string body = "heloo! \n according to your request your password is: \n " + password;
            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            { Subject = subject, Body = body })
            { smtp.Send(message); }
            SendMessage("&answerForgotRequest&true!");
        }
        catch
        {
            SendMessage("&answerForgotRequest&failed!");
        }            
    }

Кроме того, это строка, которая соответствует ошибке

 public void answerServer(string message)
    {
        string ans = message.Split('&')[2];

 if (ans.StartsWith("failed!"))
        {
            MessageBox.Show("an error was occured while trying sending the mail");
        }

]

1 Ответ

0 голосов
/ 26 февраля 2019

Поскольку вы боретесь с этим, вам нужно, по крайней мере, попытаться , чтобы поймать exception, никто не может помочь вам, поскольку вы просто выбрасываете его

try
{
    // email code
}
catch(Exception ex)
{
    // breakpoint this line (yes look up online how to do it)
    MessageBox.Show(Ex.ToString());
    // write it to file if you need to
    //File.WriteAllText("someFileName.Txt",Ex.ToString() );
} 

Затем, когда у вас есть фактическое исключение, пожалуйста, вставьте (или задайте новый вопрос), чтобы мы знали, что происходит.

Возможно, вы тоже захотите взглянуть на них

Обработка исключений (Руководство по программированию в C #)

Навигация по коду с помощью VisualСтудийный отладчик

...