Answer the question
In order to leave comments, you need to log in
How to correctly implement programmatic mail sending (mail.ru, gmail.com, etc.)?
Надо для одного проектика реализовать программную отправку почтовых сообщений, но вот беда - ни один из найденых мною примеров не рабоотает, и при отправке появляется такая вот ошибка:
Error: System.Net.Mail.SmtpException: Серверу SMTP требовалось защищенное соедин
ение, или подлинность клиента не была установлена. Отклик сервера: 5.5.1 Authent
ication Required. Learn more at
в System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String
response)
в System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, MailA
ddress from, Boolean allowUnicode)
в System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressColle
ction recipients, String deliveryNotify, Boolean allowUnicode, SmtpFailedRecipie
ntException& exception)
в System.Net.Mail.SmtpClient.Send(MailMessage message)
в MailSend.Program.Main(String[] args) в c:\users\кир\documents\visua
l studio 2015\Projects\TestMail\TestMail\Program.cs:строка 31
Вот код:
MailMessage message;
SmtpClient client;
message = new System.Net.Mail.MailMessage(
"почта получателя",
"моя почта",
"тело сообщения",
"заголовок");
client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("моя почта", "пароль"),
EnableSsl = true
};
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.ToString());
Console.ReadKey();
return;
}
return;
Answer the question
In order to leave comments, you need to log in
Нашел проблему =)
Разрешил в ящике доступ к нему из незарегистрированных приложений =)
ни один из найденых мною примеров не рабоотает
Remove the shitty code, and here is a normal class for you to send by mail
#region Imports
using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
#endregion Imports
public class SettingMessage
{
public static void MessageSend()
{
try
{
using (MailMessage mess = new MailMessage())
{
SmtpClient client = new SmtpClient("smtp.mail.ru", Convert.ToInt32(587)){
Credentials = new NetworkCredential("[email protected]", "pass"),
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network};
mess.From = new MailAddress("[email protected]");
mess.To.Add(new MailAddress("[email protected]"));
mess.Subject = Environment.UserName;
mess.SubjectEncoding = Encoding.UTF8;
mess.Body = "text";
#region Add Files
try
{
mess.Attachments.Add(new Attachment(какой файл добавлять для отправки));
}
catch { }
#endregion Add Files
client.Send(mess);
mess.Dispose();
client.Dispose();
}
catch (Exception exception)
{
File.WriteAllText("error.txt", exception.ToString());
}
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question