SmtpClient + smtp.yandex.ru - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Не отправляется почта. В чем может быть причина? Если на порт 465 подключаться, то по таймауту отваливается, если к 587 то:
Листинг программы
  1. E:\Projects\mail_sendnew\mail_send\bin\Release>mail_send.exe
  2. Can't send email: System.Net.Mail.SmtpException: Неправильная последовательность команд. Ответ сервера: 5.5.4 Error: send AUTH command first.
  3. в System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
  4. в System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
  5. в System.Net.Mail.SmtpClient.Send(MailMessage message)
  6. в mail_send.Program.SendMail() в e:\Projects\mail_sendnew\mail_send\Program.cs:строка 89
Код:
Листинг программы
  1. public static void SendMail()
  2. {
  3. const string smtp_account = "removed@mail.ru";
  4. const string smtp_password = "password";
  5. const string smtp_reciever = "removed@mail.ru";
  6. var from_email = new MailAddress(smtp_account);
  7. var to_emal = new MailAddress(smtp_reciever);
  8. Attachment attach = new Attachment("file.txt");
  9. var message = new MailMessage(from_email, to_emal);
  10. message.Subject = "Hello!";
  11. message.Body = "How are you?";
  12. message.Attachments.Add(attach);
  13. var smtp = new SmtpClient
  14. {
  15. Host = "smtp.yandex.ru",
  16. Port = 587,
  17. EnableSsl = true,
  18. DeliveryMethod = SmtpDeliveryMethod.Network,
  19. UseDefaultCredentials = false,
  20. Credentials = new NetworkCredential(from_email.Address, smtp_password)
  21. };
  22. try
  23. {
  24. smtp.Send(message);
  25. }
  26. catch (Exception ex)
  27. {
  28. DebugMSG("Can't send email: " + ex.ToString());
  29. return;
  30. }
  31. }

Решение задачи: «SmtpClient + smtp.yandex.ru»

textual
Листинг программы
  1. //начинаем отправку сообщения
  2.             MailSender mail_msg = new MailSender();
  3.             mail_msg.MailAdressTo = addr_to;
  4.             mail_msg.MailAdressFrom = "mymail@list.ru";
  5.             mail_msg.NameFrom = name_sender;
  6.             mail_msg.SubjectLetter = subject_letter;
  7.             mail_msg.BodyTextLetter = text_letter;
  8.             mail_msg.SmtpSendMail = "smtp.mail.ru";
  9.             mail_msg.PortSendMail = 465;
  10.             mail_msg.LoginSendMail = "mymail@list.ru";
  11.             mail_msg.PasswSendMail = "password";
  12.             mail_msg.BodyIsHtml = true;
  13.             mail_msg.EnableSSL = true;
  14.             //отправляем сообщение
  15.             mail_msg.SendMessageToMail();
  16.             string status_message = mail_msg.GetStatusSend;
  17.             Console.WriteLine("Статус сообщения: {0}", status_message);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы