2013-05-07 77 views
2

我对CSS非常陌生,我试图使用cfmail标记格式化电子邮件。以下是代码:cfmail标记中的表格

<cfmail from="[email protected]" 
      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。

回答

5

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

您可能还想考虑将HTML内容包装在适当的HTML和Body标签中,就像您通常从HTML模板期望的那样。

<cfmail from="[email protected]" 
      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标签。 Mikey。

Mikey。

1

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

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

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

例如

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

注意:不要同时指定在<cfmail>标签type="html"<cfmailpart>标签一起。无论是做一个还是另一个(只需在<cfmail>上执行type="html"更简单,但我更愿意同时执行纯文本和HTML)。

+0

我得到的错误是:开始标记必须有匹配的结束标记。通过添加可以提供明确的结束标记。如果标签的主体为空,则可以使用快捷方式。 如果我删除表格的部分,只是把所有的数据以纯文本的方式工作。 cfmail的cfmailpart和type属性导致相同的错误。 – amsko 2013-05-07 09:55:26

+0

声音在您的CFML中出现问题,并且未封闭 - 显然是错误诊断。 @迈克尔的答案可能会有所帮助,注意CSS声明中的double-up octothorpes(##) – duncan 2013-05-07 11:13:47