[ad_1]
Como título. Estoy desarrollando un sistema que puede enviar correos electrónicos con archivos adjuntos a los miembros. Quiero que los destinatarios no puedan responder el correo electrónico recibido porque la dirección de correo electrónico del remitente puede ser virtual, como algún correo electrónico que contiene “este correo electrónico lo envía el sistema automáticamente, no responda”.
Quiero crear esta función, pero descubrí que es difícil sin componentes de terceros, y esos son costosos. Probé algunos códigos de muestra, uno de estos es como el siguiente:
public string SendEMail(string From,string To,string Subject,string Content) { try { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add(To); msg.From = new MailAddress(From, From, System.Text.Encoding.UTF8); msg.Subject = Subject; msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.Body = Content; msg.BodyEncoding = System.Text.Encoding.UTF8; msg.IsBodyHtml = false; msg.Priority = MailPriority.Normal; SmtpClient client = new SmtpClient(); //client.Credentials = new System.Net.NetworkCredential(SenderAddress, SenderPassword); client.Host = "localhost"; //client.EnableSsl = true; client.Send(msg); return string.Empty; } catch (Exception ex) { return "Exception:" + ex.Message + "Stacktrace:" + ex.StackTrace; } }
Pero recibí el mensaje “Error al enviar correo electrónico”. mensaje de excepción al ejecutar este código. ¿Cómo podría conseguirlo?
Solución 1
Tienes algunos problemas. En primer lugar, no tienes control sobre el servidor de correo que estás utilizando a menos que configures uno tú mismo. Esto significa que está a merced de las políticas configuradas en el servidor de correo que está utilizando para enviar los correos electrónicos. No, no puedes hacer nada sin uno.
Esto significa que si el propietario del servidor de correo dice que no enviará ni reenviará un correo electrónico sin una dirección de remitente, debe ingresar una. Si el propietario dice que la dirección de correo electrónico DEBE coincidir con la cuenta que envía el correo electrónico, DEBE poner su dirección de correo electrónico en el campo del remitente.
Donde trabajo, es imposible enviar un correo electrónico sin completar la dirección del remitente. No tiene que ser una cuenta válida. Sólo hay que rellenarlo.
Ahora que ha recibido su correo electrónico en el servidor que lo envía, no ha superado esos problemas. Algunos servidores ni siquiera entregarán un correo electrónico si no se completa el remitente. Por lo tanto, dejar el campo en blanco puede no funcionar para todos los destinatarios.
El mejor método para hacer lo que quieres es simplemente crear una dirección de correo electrónico (¡por lo general ni siquiera tiene que existir!) que diga “noreply@tudominio.com” o algo similar. Si el usuario responde al correo electrónico, ese es su problema, no el tuyo. Su correo electrónico no se podrá entregar si la cuenta de correo electrónico no existe. En el peor de los casos, quedará en la bandeja de entrada de una cuenta que nadie supervisa y, finalmente, el servidor lo eliminará.
[ad_2]
コメント