所以我正在发送一封电子邮件,其中包含他们所在页面(收据页面)的 div 元素的内容。在 Receipt 页面中,css 样式显示得很好。然而,当对象被发送到电子邮件时,样式似乎就消失了。它位于单独的页面上,并在标题中称为表单(如往常一样)。我可以理解为什么会发生这种情况(只是发送要呈现的 html 而不是访问 css 样式),但不知道如何解决它。
所以我的问题是,如何在不丢失 CSS 样式的情况下发送这个 div 元素?
这是我的参考代码:
StringWriter sw = new StringWriter( );
HtmlTextWriter w = new HtmlTextWriter( sw );
invoice.RenderControl( w ); //invoice is the div id of the element i am sending to email
string s = sw.GetStringBuilder( ).ToString( );
MailMessage message = new MailMessage( );
message.IsBodyHtml = true;
message.To.Add( new MailAddress( Session["eMail"].ToString( ) ) );
message.To.Add( new MailAddress( "email@email.ca" ) );
message.Subject = "extra dimensional stack-overflow";
message.From = new MailAddress( "email@email.ca" );
message.Body = s;
SmtpClient emailClient = new SmtpClient( "localhost", 8025 );
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential( "blargh", "blargh" );
emailClient.UseDefaultCredentials = false;
emailClient.Credentials = SMTPUserInfo;