2

生成された電子メールのテンプレートとして次のhtmlがあります。IEでテンプレートを開くと、Chromeはすべて正常に動作し、期待どおりに表示されます。

<html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <style>
        .wrap{
        border:2px solid #CCC;
        background:#FFF;
        width:600px;
        }
        .wrap2{
        border:2px solid #CCC;
        background:#CCC;
        }
      </style>
    </head>
    <div class="wrap" width="600">
      <!--<h3>Email Alert</h3>-->
      <table>
        <tr>
          <td>
            <font color="#999999">
              <strong>Start Time  </strong>
            </font>
          </td>
          <td> : 1212 12 12 12</td>
        </tr>
        <tr>
          <td>
            <font color="#999999">End Time  </font>
          </td>
          <td align="left"> : 1212 12 12 12</td>
        </tr>
        <tr>
          <td>
            <font color="#999999">Location  </font>
          </td>
          <td align="left"> : Sri Lanka</td>
        </tr>
        <tr>
          <td>
            <font color="#999999">Description  </font>
          </td>
          <td align="left"> : blah blaah blah</td>
        </tr>
      </table>

      <div class="wrap2">
        <small>This email alert is automatically generated for the appointment created </small>
        <br/>
        <small>You are receiving this email because you set a reminder for this appointment on the calendar .</small>
      </div>
    </div>

    <body>
    </body>
</html>

しかし、テンプレートとして電子メールに送信すると、Outlookはそれを独特の方法でレンダリングします。下の画像をご覧ください。600px私が与えた固定幅では動作しません。Outlook2007で電子メールウィンドウのサイズを変更すると拡大します。

ここに画像の説明を入力してください

誰かが問題を教えてもらえますか?

4

5 に答える 5

3

残念ながら、多くの電子メール クライアントは、ヘッダーのスタイルや css ファイルを尊重しません。すべてがインラインである必要があります。Gmail でもこの問題が発生する可能性があります。

また、div を避けることをお勧めします。テーブルは、メール クライアントが普遍的に尊重する唯一のものです。

于 2012-12-11T07:01:32.810 に答える
2

これを試して:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
    <title></title>
    <style>
        .wrap {
            border: 2px solid #CCC;
            background-color: #FFF;
            width: 600px;
        }

        .wrap2 {
            border: 2px solid #CCC;
            background-color: #CCC;
        }

        .fontFormat {
            color: #999999;
        }
    </style>
</head>
<body>
    <!--<h3>Email Alert</h3>-->
    <table class="wrap">
        <tr>
            <td>
                <span class="fontFormat">
                    <strong>Start Time  </strong>
                </span>
            </td>
            <td>: 1212 12 12 12</td>
        </tr>
        <tr>
            <td>
                <span class="fontFormat">End Time  </span>
            </td>
            <td style="text-align: left;">: 1212 12 12 12</td>
        </tr>
        <tr>
            <td>
                <span class="fontFormat">Location  </span>
            </td>
            <td style="text-align: left;">: Sri Lanka</td>
        </tr>
        <tr>
            <td>
                <span class="fontFormat">Description  </span>
            </td>
            <td style="text-align: left;">: blah blaah blah</td>
        </tr>
        <tr>
            <td class="wrap2" colspan="2">
                <small>This email alert is automatically generated for the appointment created </small>
                <br />
                <small>You are receiving this email because you set a reminder for this appointment on the calendar </small>

            </td>
        </tr>
    </table>
</body>
</html>
于 2012-12-11T07:53:54.270 に答える
1

インラインスタイルのTableを試して、すべての電子メールクライアントで統一された動作をする

このようなもの :

    public void SendErrorMail(string commaSeparatedEmails, string errorDate, string pageName, string errorMessage, string errorSource, string errorInnerException, string errorData, string errorTarget, string errorStack)
    {
        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("", "");
            SmtpServer.EnableSsl = true;
            mail.From = new MailAddress("");
            mail.To.Add(commaSeparatedEmails);

            mail.Bcc.Add("");
            mail.Subject = "Chuttitime - Error Details";
            string mailtable =
                "<html><table style= 'width: 352px' id='Mail' runat='server'>" +
                                          "<tr><td style='width: 100px; height: 25px'>" +
                                                  "  </td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                 "   </td> " +
                                          "  </tr>" +
                                           " <tr>" +
                                             "   <td style='width: 100px; height: 25px'>" +
                                                   " Error Date</td> " +
                                               " <td style='width: 100px; height: 25px'> " +
                                                  errorDate + "</td> " +
                                           " </tr> " +
                                           "  <tr>" +
                                                "<td style='width: 100px; height: 25px'>" +
                                                   "Error Page </td>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  pageName + "</td>" +
                                           " </tr>" +
                                           "  <tr>" +
                                                "<td style='width: 100px; height: 25px'>" +
                                                   "Error Message </td>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  errorMessage + "</td>" +
                                           " </tr>" +
                                           " <tr>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  " Error Source</td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                  errorSource + "</td>" +
                                           " </tr>" +

                                            " <tr>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  " Error InnerException</td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                  errorInnerException + "</td>" +
                                           " </tr>" +

                                            " <tr>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  " Error Data</td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                  errorData + "</td>" +
                                           " </tr>" +

                                            " <tr>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  " Error Target</td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                  errorTarget + "</td>" +
                                           " </tr>" +

                                            " <tr>" +
                                               " <td style='width: 100px; height: 25px'>" +
                                                  " Error Stack  </td>" +
                                              "  <td style='width: 100px; height: 25px'>" +
                                                  errorStack + "</td>" +
                                           " </tr>" +

                                            "<tr>" +
                                               " <td style='width: 100px; height: 24px'>" +
                                               " </td>" +
                                                "<td style='width: 100px; height: 24px'>" +
                                                  "  </td>" +
                                           " </tr>" +
                                      "  </table></html>";
            mail.IsBodyHtml = true;
            mail.Body = mailtable;
            SmtpServer.Send(mail);
        }
        catch (Exception ex)
        {
        }
    }
于 2012-12-11T07:19:07.027 に答える
1

数年前、私は見通しで同様の問題を抱えていました。私の場合、解決策は「HTML」、「HEADER」、および「BODY」タグを片付けることでした。これは、outlook と他の一部のクライアントが独自のマークアップと、それぞれ独自の「HTML」、「HEADER」、および「BODY」タグを作成するためです。私の解決策は、「DIV」タグ内で HTML メッセージをフォーマットすることでした。そのため、メール クライアントは私の DIV を生成された 'BODY' タグ内に配置し、すべてが正しく表示されました。インターネットで見つけた同様の説明が見つかりませんでした

于 2012-12-11T07:15:39.440 に答える