net form enviar credenciales correo con asp archivo adjunto c# smtp google-apps

form - Enviar correo electrónico a través de C#a través de la cuenta de Google Apps



send email c# gmail (5)

Esto es lo que uso en WPF 4

SmtpClient client = new SmtpClient(); client.Credentials = new NetworkCredential("[email protected]", "P@$$w0rD"); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; try { MailAddress maFrom = new MailAddress("[email protected]", "Sender''s Name", Encoding.UTF8), maTo = new MailAddress("[email protected]", "Recipient''s Name", Encoding.UTF8); MailMessage mmsg = new MailMessage(maFrom.Address, maTo.Address); mmsg.Body = "<html><body><h1>Some HTML Text for Test as BODY</h1></body></html>"; mmsg.BodyEncoding = Encoding.UTF8; mmsg.IsBodyHtml = true; mmsg.Subject = "Some Other Text as Subject"; mmsg.SubjectEncoding = Encoding.UTF8; client.Send(mmsg); MessageBox.Show("Done"); } catch (Exception ex) { MessageBox.Show(ex.ToString(), ex.Message); //throw; }

Esté atento a los Firewalls y Anti-Virus. Estas cosas escalofriantes tienden a bloquear las aplicaciones que envían correos electrónicos. Uso McAfee Enterprise y tengo que agregar el nombre del ejecutable (como Bazar. * Para Bazar.exe y Bazar.vshost.exe) para poder enviar correos electrónicos ...

Tengo una cuenta estándar de Google Apps. Configuré un dominio personalizado a través de Google Apps. Puedo enviar y recibir correos electrónicos exitosamente a través de Google Apps cuando uso la interfaz de Gmail. Sin embargo, quiero enviar un correo electrónico a través del código. Para intentar esto, he estado intentando el siguiente código:

MailMessage mailMessage = new MailMessage(); mailMessage.To.Add("[email protected]"); mailMessage.Subject = "Test"; mailMessage.Body = "<html><body>This is a test</body></html>"; mailMessage.IsBodyHtml = true; // Create the credentials to login to the gmail account associated with my custom domain string sendEmailsFrom = "[email protected]"; string sendEmailsFromPassword = "password"; NetworkCredential cred = new NetworkCredential(sendEmailsFrom, sendEmailsFromPassword); SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 587); mailClient.EnableSsl = true; mailClient.DeliveryMethod = SmtpDeliveryMethod.Network; mailClient.UseDefaultCredentials = false; mailClient.Timeout = 20000; mailClient.Credentials = cred; mailClient.Send(mailMessage);

Cuando se alcanza el método Send, se lanza una excepción que dice:

"El servidor SMTP requiere una conexión segura o el cliente no fue autenticado. La respuesta del servidor fue: 5.5.1 Autenticación requerida".

¿Cómo envío correos electrónicos a través de mi dominio personalizado a través de Google?

¡Gracias!


Mi código se está conectando a smtp.google.com con TLS en Puerto = 587 (SSL debería ser el puerto 465) pero aún necesita EnableSsl = true

SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; NetworkCredential credentials = new NetworkCredential(); credentials.UserName = "INSERT EMAIL"; credentials.Password = "INSERT PASSWORD"; smtp.Credentials = credentials; MailAddress addressFrom = new MailAddress(credentials.UserName); MailAddress addressTo = new MailAddress("INSERT RECIPIENT"); MailMessage msg = new MailMessage(addressFrom, addressTo); msg.Subject = "SUBJECT" msg.Body = "BODY"; smtp.Send(msg);

Tenga en cuenta estos importantes requisitos previos en su cuenta G SUITE


No hay necesidad de codificar todas las configuraciones smtp en su código. Póngalos en web.config en su lugar. De esta forma, puede encriptar estas configuraciones si es necesario y cambiarlas sobre la marcha sin volver a compilar su aplicación.

<configuration> <system.net> <mailSettings> <smtp from="[email protected]" deliveryMethod="Network"> <network host="smtp.gmail.com" port="587" userName="[email protected]" password="password"/> </smtp> </mailSettings> </system.net> </configuration>

Finalice cuando envíe un correo electrónico, simplemente habilite SSL en su SmtpClient:

var message = new MailMessage("[email protected]"); // here is an important part: message.From = new MailAddress("[email protected]", "Mailer"); // it''s superfluous part here since from address is defined in .config file // in my example. But since you don''t use .config file, you will need it. var client = new SmtpClient(); client.EnableSsl = true; client.Send(message);

Asegúrese de enviar un correo electrónico desde la misma dirección de correo electrónico con la que intenta autenticar en Gmail.

Nota : Comenzando con .NET 4.0 puede insertar enableSsl = "true" en web.config en lugar de configurarlo en el código.


No hay necesidad de hacer nada. Simplemente inicie sesión en su cuenta actual por primera vez y siga las instrucciones.

Tu problema se resolverá Ocurre porque creó la cuenta en las aplicaciones de Google pero no inició sesión. Simplemente inicie sesión y siga las instrucciones y pruebe.


cambia el puerto a 465