Alguien ha encontrado una buena manera de insertar CSS en un correo electrónico producido programáticamente. La mejor manera que he encontrado es poner el código de estilo en un archivo de recursos y llamarlo al código.CSS en el correo electrónico
Un emample sería
Dim objBuilder
objBuilder = New StringBuilder
objBuilder.Append(Resources.SystemEmail.CSSStyle)
objBuilder.Append("My Styled Email")
Dim _Body As String = objBuilder.ToString()
Esto sería construir el cuerpo del correo electrónico
¿Hay alguna manera de hacer un archivo de plantilla de un correo electrónico o una mejor manera de llamar a una hoja de estilo en uno .
El código en mi archivo .resx sería
<STYLE TYPE="text/css">
<!--
body
{
font-family: Tahoma, Verdana, Arial;
font-size: 10pt;
padding: 3px 0px 0px 0px;
margin: 0px 0px 0px 0px;
}
-->
</STYLE>
Y llamando a esto en la cadena podría llamar a esta línea
Y con las respuestas a continuación para enviar el mensaje me gustaría utilizar este
Dim client As New SmtpClient("localhost")
Dim toAddr As New MailAddress(MailRecipients)
Dim fromAddr As New MailAddress(MailFrom)
Dim message As New MailMessage(fromAddress, toAddress)
message.Subject = "The Subject"
message.Body = _Body
message.IsBodyHtml = True
message.BodyEncoding = System.Text.Encoding.UTF8
client.Send(message)
Me sorprende que nadie te haya advertido sobre el envío de correos electrónicos HTML. – Simon
Por favor explique, esto sería para los pocos que no lo apoyan. – Paul
El soporte del selector de medios es aún peor. He descubierto que la mayoría de los clientes, incluidos los más populares, ignorarán cualquier CSS que tenga selectores de medios. Por lo tanto, no puede enviar correos electrónicos HTML y tener versiones separadas de impresión/visualización. Otra razón para tener tan poco html en el correo electrónico como sea posible, y en su lugar usar un enlace. – Myforwik