C # cambiar el e-mail 'de' dirección a un ser proporcionada por el usuario
-
02-10-2019 - |
Pregunta
Tenemos una aplicación que permite a los usuarios enviar mensajes de correo electrónico de nuestro sistema. Permite al usuario especificar su dirección de correo electrónico, y les da varias plantillas estándar a utilizar como punto de partida para su correo electrónico.
Cuando enviamos los correos electrónicos, utilizamos la dirección que proporcionaron como el 'Responder a', pero la dirección 'De' de los e-mails miradas (naturalmente) como nuestro sistema (de 'enviar @ ourserver. com ').
¿Hay una manera de cambiar esto sin enredarse en los filtros de spam o de bloqueo automático? Preferiríamos no confundir al destinatario como para que realmente compuesta la dirección de correo que han recibido.
Solución 3
Después de discutir con nuestros ops personas y tratando el método de Atomiton, me he dado cuenta que esto no es realmente posible para nosotros.
Otros consejos
Yo te refieren a Jeff Atwood Coding Horror artículo sobre el envío de e-mail programattically. En él se describe en longitudes de los pasos que debe tomar para evitar que su dirección de e-mail de ser atrapados en los filtros de spam, etc ...
de Jeff Atwood: Así que desea enviar a algunos de correo electrónico (a través de Código)
Yo uso este código:
public static bool sendEmail(string fromName, string fromEmail, string body, string subject, string toEmail) {
String strReplyTo = fromEmail.Trim();
String strTo = toEmail;
String msgBodyTop = "Email from: " + @fromName + "(" + @fromEmail + ")\n"
+ "" + " " + DateTime.Now.ToLongTimeString()
+ " FROM " + HttpContext.Current.Request.Url.ToString + " : \n\n"
+ "---\n";
MailMessage theMail = new MailMessage(fromEmail, strTo, subject, msgBodyTop + body);
theMail.From = new MailAddress(strReplyTo, fromName);
SmtpClient theClient = new SmtpClient(ConfigurationManager.AppSettings["SMTP"].ToString());
theClient.Send(theMail);
return true;
}
Parece que funciona para mí ...