Estoy intentando enviar un correo electrónico a través de SMTP Gmail en C# utilizando el código de abajoEnviar correo electrónico a través de SMTP Gmail
MailMessage message = new MailMessage();
message.To.Add("my email");
message.Subject = "subject";
message.From = new MailAddress("any email");
message.Body = "body";
message.Attachments.Add(new System.Net.Mail.Attachment(path));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("my user", "my pass");
smtp.Send(message);
Cuando recibo el correo electrónico, el campo DE está lleno de my user
. Estoy usando UseDefaultCredentials
como false
. Cuando miro el resultado, el campo FROM se rellena con my user
. ¿No debería el campo FROM llenarse con any email
? ¿Cómo puedo enviar un correo electrónico usando any email
como remitente?
Creo que esta es una forma de que GMail controle el uso de su servicio SMTP. Si alguien pudiera enviar correos a otra persona a través de GMail, los spammers se congregarían allí. De esta manera todos los correos electrónicos enviados 'en su nombre' provienen de usted (= 'mi usuario') – n8wrl
¡Ya lo hice en un programa JAVA ... hace muchos años! :( – Victor
¿Tuvo la oportunidad de verificar el origen completo del correo electrónico que está recibiendo? Debería tener "De: cualquier correo electrónico" y "Remitente: mi usuario en su lugar". La aplicación con la que está viendo el correo electrónico puede presentar al Remitente como si fue From, y causa la confusión. –