enviar - c# send email ssl
El servidor SMTP requiere una conexión segura o el cliente no fue autenticado, aún no funciona (1)
Revisé tu código y funcionó para mí. Sin embargo, no estoy seguro del objetivo del método PrepareSender()
. _message.Body
cuerpo del mensaje ( _message.Body
) en PrepareMailMessage()
.
¿Intentó usar las credenciales predeterminadas?
_smtpClient.UseDefaultCredentials = true
Obtengo el error anterior. Miré soluciones en línea y parece que hice todo lo que era necesario, pero todavía lo estoy obteniendo. He incluido Enablessl = verdadero; El método de entrega es Network y he proporcionado las credenciales. Lo depuré y el nombre de usuario y la contraseña parecen ser correctos.
using System;
using System.Net;
using System.Net.Mail;
using System.Windows.Forms;
namespace SendMail
{
public partial class MainWindow : Form
{
#region Private variables
private MailMessage _message = new MailMessage();
private EmailSender sender = EmailSender.GetInstance();
private SmtpClient _smtpClient = new SmtpClient();
#endregion
public MainWindow()
{
InitializeComponent();
}
private void PrepareMailMessage()
{
// Set the FROM address
_message.From = new MailAddress(tbFromAddr.ToString().Trim());
// Set the TO address
_message.To.Add(new MailAddress(tbToAddr.ToString().Trim()));
// Set the SUBJECT
_message.Subject = tbSubject.ToString();
_message.IsBodyHtml = false;
_message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
_message.Priority = MailPriority.High;
_message.SubjectEncoding = System.Text.Encoding.UTF8;
_message.BodyEncoding = System.Text.Encoding.UTF8;
}
private void PrepareServer()
{
_smtpClient.Host = "smtp.gmail.com";
_smtpClient.Port = 587;
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
_smtpClient.UseDefaultCredentials = false;
_smtpClient.Credentials = new NetworkCredential(tbFromAddr.ToString().Trim(), tbPassword.ToString().Trim());
_smtpClient.EnableSsl = true;
}
private void PrepareSender()
{
sender.Message = _message;
sender.smtpClient = _smtpClient;
}
private void btnSend_Click(object sender, EventArgs e)
{
PrepareMailMessage();
PrepareServer();
PrepareSender();
//this.sender.Send();
_smtpClient.Send(_message);
}
}
}