cfmail标记中的表

时间:2013-05-07 09:01:50

标签: html coldfusion cfmail

我是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。

3 个答案:

答案 0 :(得分:5)

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

您可能还需要考虑将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标签。

米奇。

答案 1 :(得分:1)

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

<cfmail to="recipient" from="sender" subject="subject" type="html"></cfmail>

答案 2 :(得分:0)

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

e.g。

<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"上执行<cfmail>更简单,但我更喜欢同时使用纯文本和HTML。)