2

我对 CSS 很陌生,我正在尝试使用 cfmail 标签格式化电子邮件。下面是代码:

<cfmail from="ABC@xyz.com"
            to="#InvestigatorEmail#" 
            subject="Reminder #flagReminder#:: Incident Report: #report_number#"> 

            <style>
    BODY {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: ##fff
    }
    BODY {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }
    P {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }
    LI {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }

    A {
        COLOR: ##0c479d; TEXT-DECORATION: none
    }
    A:hover {
        BACKGROUND-COLOR: ##d3deed
    }

    table{
            width:100%;
            border-bottom:1px solid ##eee;
            clear:both;
            color:##000;
            margin-bottom:10px;
            FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
        }
    td {
            padding:3px 4px;
            vertical-align:top;
            border-right:1px solid ##ddd;
            color:##000;
            font-weight:bold;
            margin:0;
        }
    tr.odd {
            background-color:##ffffcb
        }
    td.row-header {
            width:100px;
            font-weight:normal;
        }

    </style>        

The below Incident Report has been assigned to you on     #DateFormat(InvestigationAssigned_tms,"dd-mmm-yyyy")#</br></br>

                <table width="720">
                <tr>
                    <td>Incident Report #</td>
                    <td>Person Involved</td>
                    <td>Incident Description</td>
                    <td>Incident Location</td>
                    <td>Status</th>
                    <td>Investigation Assigned Date</td>
                </tr>
                <tr>
                    <td>#report_number#</td>
                    <td>#NameOfPersonInvolved#</td>
                    <td>#IncidentDescription#</td>
                    <td>#IncidentLocationCity#</td>
                    <td>#reportStatus#</td>
                    <td>#InvestigationAssigned_tms#</td>
                </tr>
                </table>
</cfmail>

所有数据都来自一个查询,我正在循环通过该查询向不同的人发送电子邮件。我需要以表格格式显示有关一个人的数据。我不确定我在这里做错了什么,因为这是我第一次尝试在电子邮件中使用 HTML/CSS。

4

3 回答 3

5

您需要使用type="html"CFMAIL 标记上的属性。

您可能还需要考虑将 HTML 内容包装在适当的 HTML 和 Body 标记中,就像您通常期望的 HTML 模板一样。

<cfmail from="ABC@xyz.com"
            to="#InvestigatorEmail#" 
            subject="Reminder #flagReminder#:: Incident Report: #report_number#"
type="html"> 
<html>
<body>
            <style>
    BODY {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: ##fff
    }
    BODY {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }
    P {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }
    LI {
        FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
    }

    A {
        COLOR: ##0c479d; TEXT-DECORATION: none
    }
    A:hover {
        BACKGROUND-COLOR: ##d3deed
    }

    table{
            width:100%;
            border-bottom:1px solid ##eee;
            clear:both;
            color:##000;
            margin-bottom:10px;
            FONT-SIZE: 11px; COLOR: ##595959; LINE-HEIGHT: 14px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
        }
    td {
            padding:3px 4px;
            vertical-align:top;
            border-right:1px solid ##ddd;
            color:##000;
            font-weight:bold;
            margin:0;
        }
    tr.odd {
            background-color:##ffffcb
        }
    td.row-header {
            width:100px;
            font-weight:normal;
        }

    </style>        

The below Incident Report has been assigned to you on     #DateFormat(InvestigationAssigned_tms,"dd-mmm-yyyy")#</br></br>

                <table width="720">
                <tr>
                    <td>Incident Report #</td>
                    <td>Person Involved</td>
                    <td>Incident Description</td>
                    <td>Incident Location</td>
                    <td>Status</th>
                    <td>Investigation Assigned Date</td>
                </tr>
                <tr>
                    <td>#report_number#</td>
                    <td>#NameOfPersonInvolved#</td>
                    <td>#IncidentDescription#</td>
                    <td>#IncidentLocationCity#</td>
                    <td>#reportStatus#</td>
                    <td>#InvestigationAssigned_tms#</td>
                </tr>
                </table>
</body>

希望这对你有用吗?

另请注意,您的问题可能是由于在电子邮件中使用 CSS 的复杂性......这总是很痛苦。电子邮件中的 CSS 支持有限且非常基础。这不是 ColdFusion / CFML 问题,它只是当今 HTML 电子邮件的方式。

我建议将您的 CSS 移动到 HTML 标签本身的“内联”,因为电子邮件客户端通常会去掉 STYLE 标签。

米奇。

于 2013-05-07T09:55:15.117 回答
1

这真的很简单,你只需要在你的 cfmail 标签中添加一个类型。它看起来像

<cfmail to="recipient" from="sender" subject="subject" type="html"></cfmail>
于 2013-05-07T09:26:12.350 回答
0

或者,您可以使用cfmailpart标记指定 HTML 部分。这还允许您为可能使用不会呈现 HTML 的邮件浏览器的任何人指定单独的纯文本版本。

例如

<cfmail>
      <cfmailpart type="html">... your table here ...</cfmailpart>
      <cfmailpart type="text">A plaintext version for everyone else</cfmailpart>
</cfmail>

注意:不要同时指定type="html"标签<cfmail><cfmailpart>标签。要么做一个要么做另一个(只做type="html"on the更简单,<cfmail>但我更喜欢同时做纯文本和 HTML)。

于 2013-05-07T09:37:57.183 回答