2015-01-01 5 views
-1

Net.Mail.SmtpException в представлении, когда я отправляю сообщение с помощью приложения Email Sender, сделанного на C#.System.Net.Mail.SmtpException - отправитель электронной почты

ОШИБКА:System.Net.Mail.Smtp.Exception: Сервер SMTP требует защищенного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.5.1 Требуется аутентификация. Подробнее читайте в System.Net.MailCommand.CheckResponse (SmtpStatusCodestatusCde, Stringresponse) в System.Net.Mail.MailCommand.Send (команда SmtpConnection, команда Byte [], MailAddressfrom, Boolean allowUnicode) в System.Net.Mail.Smtp.Transport .SendMail (отправитель MailAddress, получатели MailAddressCollection, String deliveryNotify, Boolean allowUnicode, исключение SmtpFailedRecipientException &) в System.Net.Mail.SmtpClient.Send (сообщение MailMessage) в My_first_project.Form1.button2_Click (отправитель объекта, EventArgs e) в c: \ Пользователи \ Hussam \ Documents \ Visual Studio 2012 \ Projects \ C# \ Проекты \ Мой первый проект \ Мой первый проект \ Form1.cs: линия 80

Вот код ::

private void button2_Click(object sender, EventArgs e){ 

     try 
     { 
      if (!textBox4.Text.Contains("@gmail.com")) 
      { 

       MessageBox.Show("You need to provide @gmail email :)"); 
       return; 

      } 

      button2.Enabled = false; 
      MailMessage message = new MailMessage(); 
      message.From = new MailAddress(textBox4.Text); 
      message.Subject = textBox2.Text; 
      message.Body = textBox3.Text; 

      foreach (string s in textBox1.Text.Split(';')) 
       message.To.Add(s); 

      SmtpClient client = new SmtpClient(); 
      client.UseDefaultCredentials = false; 
      client.Credentials = new NetworkCredential(textBox4.Text, textBox5.Text); 
      client.Host = "smtp.gmail.com"; 
      client.Port = 587; 
      client.DeliveryMethod = SmtpDeliveryMethod.Network; 
      client.EnableSsl = true; 
      client.Send(message); 

     }//end try 
     catch 
     { 

      MessageBox.Show("There was error sending the message. Make sure you typed in\r\nyour credentials correctly and that you have an internet connection.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); 

     } 
     finally { button2.Enabled = true; } 
    }//end button function 
+1

Что реальное сообщение об ошибке? – siride

+0

Я упоминал выше :) –

+0

Это не фактическое сообщение об ошибке. В самом исключении есть сообщение об ошибке. – siride

ответ

0

Попробуйте:

 var mail = new MailMessage(); 
    var smtp = new SmtpClient("smtp.gmail.com"); 
    mail.From = new MailAddress("email_from"); 
    mail.To.Add("email_to"); 
    mail.Subject = "subject"; 
    mail.Body = "body"; 
    smtp.Port = 587; 
    smtp.Credentials = new NetworkCredential("user", "password"); 
    smtp.EnableSsl = true; 


    smtp.Send(mail); 
+0

Получение такой же ошибки –

+0

put catch (Исключение e) - и полное описание исключений – Johnny

+0

отредактировано исключение !! –

Смежные вопросы