带有循环和附件的CFMAIL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有循环和附件的CFMAIL相关的知识,希望对你有一定的参考价值。

我有一个查询,可以获取一组商店的销售报告数据。

我需要为每个商店创建月度销售的PDF,然后通过电子邮件向销售经理发送他/她商店的报告。

创建PDF部分工作正常。它为每个商店创建单独的报告。

当我尝试通过电子邮件发送报告时,它会为每条记录发送一份报告,而不是为所有销售人员发送一份报告。 EX:如果商店#1的报告中有4个人,则销售经理将在1个报告上获得4个报告。

这是我的代码:创建PDF

     <cfoutput query="data" group="site_name">
     <cfdocument format="pdf" overwrite="yes" fontembed="yes" 
     pagetype="Letter"
     filename="xxxxxxxxxxxxxxxsite_name#.pdf" margintop="0.25" 
     marginbottom="0.25" marginleft="0.25" marginright="0.25" 
     backgroundvisible="yes">
     <table width="100%" align="center" border="1" cellpadding="5"
     cellspacing="0"> 
     <tr bgcolor="##e1e8f7">
     <td colspan="8" align="center">Sales Report  -#today#-#site_name#</td>
     </tr>
     <tr align="center">
     <td>Sales Person</td>
     <td>Total Sales</td>
     </tr>
     <cfoutput>
     <tr>
    <td>#firstName# #lastName#</td>
    <td>#totalSales#</td>
    </tr>
    </cfoutput>
    </table>
    </cfdocument>
    </cfoutput>

CFMAIL

    <cfmail query="data" to="#salesmanageremail#" subject="monthly sales 
    report" 
    type="html">
    <style type="text/css">
    body { font-size: 12px; font-family: Arial; }
    </style>
    <body>
    Report attached.
   </body>
   <cfsilent>
   <cfmailparam file="xxxxxxxxxxxxxxxsite_name#.pdf">
   </cfsilent>
   </cfmail>

如何将每个包含所有数据的商店的一份报告通过电子邮件发送给每位销售经理?

答案

您可以将cfmail标记视为cfoutput标记。这包括使用group属性,就像创建pdf时一样。

或者,您可以将cfmail标记放在用于创建pdf的cfoutput块中。考虑到所有事情,这就是我要采取的方法。这样您就可以为每个站点发送正确的文件。

以上是关于带有循环和附件的CFMAIL的主要内容,如果未能解决你的问题,请参考以下文章

如何在cfmail中分隔多个电子邮件地址

常用python日期日志获取内容循环的代码片段

带有pdf附件和html消息的php邮件功能

For Each 循环:循环通过 Outlook 邮箱删除项目时,某些项目会被跳过

从带有附件的 Databricks Notebook 发送电子邮件

通过 SMTP 发送带有附件、纯文本/文本和文本/html 的电子邮件