Добавление стиля в таблицу в теле письма в c# - PullRequest
0 голосов
/ 07 августа 2020

Я хочу составить письмо с таблицей в каком-нибудь базовом стиле c. Вот мой код:

                MailMessage mail = new MailMessage();           
                mail.From = new MailAddress("abc@domain.com");
                mail.To.Add("myname@domain.com");
                mail.Body = string.Format(@"<html>
                                            <body>
                                            <style>
                                            table, th, td {
                                              border: 1px solid black;
                                              line-height: 24px;
                                              font-size:14px;
                                              font-family:verdana;
                                              text-align: center;
                                            }
                                            </style>
                                            <p style=""""font-family:verdana""""> Status :</p>
                                            
                                            <table style=""""width=50%""""><tr>
                                                             <th >No. of Students</th> 
                                                             <th >No. of Pass</th> 
                                                             <th >No. of Failures </th>                 
                                                          <tr/><tr style=""""height=120%""""> 
                                                            <td>{0} </td> 
                                                            <td style=""""color:green"""">{1} </td>
                                                            <td style=""""color:red"""">{2} </td> 
                                                          </tr></table>
                                            <p style=""""font-family:verdana""""> Please refer to the 
                                          Log files for more details.</p>
                                            </body>
                                            </html>",student.Total, student.Pass,student.Fail);
                mail.Subject = "Report";
            };

            mail.IsBodyHtml = true;

Это дает мне исключение, в котором говорится: «Входная строка не в правильном формате». Если я удалю стиль, абзац и оставлю только, он будет работать, но в таблице не будет границ. Как мне стилизовать почту?

Я изменил тело вот так, но стиль не отображается.

mail.Body = string.Format(@"
                                           
                                            <p style=""font-family:verdana""> Status :</p>

                                            <table style=""border: 1px solid black"", ""text-align: center""><tr>
                                                             <th style=""border: 1px solid black"">No. of new records added</th> 
                                                             <th style=""border: 1px solid black"">No. of records transferred </th> 
                                                             <th style=""border: 1px solid black"">No. of records not transferred </th>                 
                                                          <tr/><tr style=""height=120%""> 
                                                            <td style=""border: 1px solid black"" ""text-align: center"">CompanyName.Value  </td> 
                                                            <td style=""border: 1px solid black"" ""text-align: center"" ""color:green"">1000 </td>
                                                            <td style=""border: 1px solid black"" ""text-align: center"" ""color:red"">82  </td> 
                                                          </tr></table>
                                            <p style=""font-family:verdana""> Please refer to the Log files for more details.</p>
                                            ");

1 Ответ

0 голосов
/ 07 августа 2020

Ваш синтаксис неверен при добавлении стиля для <table> и <p>. Сделайте это, например, следующим образом:

<table style="width: 50%">

Аналогичным образом измените синтаксис везде, где вы использовали стиль.

...