Я получаю немного неприятности, когда я пытаюсь с помощью SMTP
и MailMessage
в C#:аутентификации SMTP с помощью GMAIL, ошибка 5.5.1
Это мой первый раз, используя SMTP
и MailMessage
, так что это может быть неправильно некоторые строки, но это то, что я сделал до сих пор, и мне нужна помощь от вас, ребята.
Я искал много вещей об этом, а также здесь, в stackoverflow, но до сих пор я не могу больше думать о том, что я делаю с ним неправильно. При попытке запуска (в режиме отладки и нормальный пробег) мои Application Console
(только тесты на консоли, довольно простой) это дает мне эту error
Сервер SMTP требует безопасной соединение или клиент не был аутентифицирован. Ответ сервера: 5.5.1 Требуется аутентификация. Узнайте больше на
я понял следующее сообщение об ошибке на Visual Studio 2013
, проблема в том, что я не очень хорошо знать свойства и методы класса Smtp
и MailMessage
, а затем это делает я не понимаю, что я делаю неправильно в коде,
ниже, class Email
на Применение моей консоли
/// <summary>
/// Email Server
/// </summary>
protected SmtpClient SmtpClient { get; set; }
/// <summary>
/// Message Content
/// </summary>
protected MailMessage MailMessage { get; set; }
#endregion
/// <summary>
/// Método enviar e-mail
/// </summary>
/// <param name="smtp"></param>
/// <param name="from"></param>
/// <param name="to"></param>
/// <param name="subject"></param>
/// <param name="body"></param>
/// <param name="priority"></param>
public string EnviarEmail(string smtp, string from, string to, string subject, string body, bool priority)
{
try
{
SmtpClient = new SmtpClient();
SmtpClient.Host = "smtp.gmail.com";
SmtpClient.Port = 587;
SmtpClient.EnableSsl = true;
SmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpClient.Credentials = new NetworkCredential("[email protected]","mypassword");
SmtpClient.UseDefaultCredentials = true;
MailMessage = new MailMessage();
MailMessage.From = new MailAddress(from, "Raffa Ferreira", Encoding.UTF8);
MailMessage.To.Add(new MailAddress(to, "Fulano teste", Encoding.UTF8));
MailMessage.Subject = subject;
MailMessage.Body = body;
MailMessage.BodyEncoding = Encoding.UTF8;
MailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");
if (priority == false)
{
MailMessage.Priority = MailPriority.Normal;
}
else
{
MailMessage.Priority = MailPriority.High;
}
SmtpClient.Send(MailMessage);
}
catch(SmtpFailedRecipientException ex)
{
Console.WriteLine("Mensagem : {0} " + ex.Message);
}
catch(SmtpException ex)
{
Console.WriteLine("Mensagem SMPT Fail : {0} " + ex.Message);
}
catch(Exception ex)
{
Console.WriteLine("Mensagem Exception : {0} " + ex.Message);
}
string mensagem = "E-mail enviado";
return mensagem;
}
И
Program
Я звоню этоclass Email
передавая некоторые параметры:
class Program
{
static void Main(string[] args)
{
string smtp = "smtp.live.com";
string from = "[email protected]";
string to = "[email protected]";
string subject = "COMMUNICATE";
string body = "Hello, this is a text of a test message for you"
Email email1 = new Email();
email1.EnviarEmail(smtp, from, to, subject, body, true);
}
}
Я просто поспрашивать здесь, на stackoverflow
, когда я не могу найти ответ на некоторые мои сомнения больше, поэтому мне нужна помощь. Поскольку я впервые использовал SMTP
и MailMessage
....!
Почему у меня такая ошибка? Это что-то не так в коде? И что это?
Возможный дубликат [Отправка электронной почты через SMTP-сервер Gmail с помощью C#] (http://stackoverflow.com/questions/704636/sending-email-through-gmail-smtp -server-with-c-sharp) –