SmtpClient + smtp.yandex.ru - C#
Формулировка задачи:
Здравствуйте. Не отправляется почта. В чем может быть причина? Если на порт 465 подключаться, то по таймауту отваливается, если к 587 то:
Код:
E:\Projects\mail_sendnew\mail_send\bin\Release>mail_send.exe Can't send email: System.Net.Mail.SmtpException: Неправильная последовательность команд. Ответ сервера: 5.5.4 Error: send AUTH command first. в System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) в System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception) в System.Net.Mail.SmtpClient.Send(MailMessage message) в mail_send.Program.SendMail() в e:\Projects\mail_sendnew\mail_send\Program.cs:строка 89
public static void SendMail() { const string smtp_account = "removed@mail.ru"; const string smtp_password = "password"; const string smtp_reciever = "removed@mail.ru"; var from_email = new MailAddress(smtp_account); var to_emal = new MailAddress(smtp_reciever); Attachment attach = new Attachment("file.txt"); var message = new MailMessage(from_email, to_emal); message.Subject = "Hello!"; message.Body = "How are you?"; message.Attachments.Add(attach); var smtp = new SmtpClient { Host = "smtp.yandex.ru", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(from_email.Address, smtp_password) }; try { smtp.Send(message); } catch (Exception ex) { DebugMSG("Can't send email: " + ex.ToString()); return; } }
Решение задачи: «SmtpClient + smtp.yandex.ru»
textual
Листинг программы
//начинаем отправку сообщения MailSender mail_msg = new MailSender(); mail_msg.MailAdressTo = addr_to; mail_msg.MailAdressFrom = "mymail@list.ru"; mail_msg.NameFrom = name_sender; mail_msg.SubjectLetter = subject_letter; mail_msg.BodyTextLetter = text_letter; mail_msg.SmtpSendMail = "smtp.mail.ru"; mail_msg.PortSendMail = 465; mail_msg.LoginSendMail = "mymail@list.ru"; mail_msg.PasswSendMail = "password"; mail_msg.BodyIsHtml = true; mail_msg.EnableSSL = true; //отправляем сообщение mail_msg.SendMessageToMail(); string status_message = mail_msg.GetStatusSend; Console.WriteLine("Статус сообщения: {0}", status_message);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д