0

我正在尝试创建一种搜索方法来在我的出站电子邮件中附加文件。我需要在文件夹中搜索并找到所有以某个字符开头的文件,然后将它们附加到电子邮件中。我只需要先了解如何创建这样的搜索方法,以便任何指向参考的指针或链接都将受到赞赏。

这是我到目前为止所拥有的,但是当我使用路径而不是GetBaseTemplatePath()

<cfscript>
  attributes.attachments = 2011093475839213;
</cfscript>

<cfset Directory = "E:\sites\Example.com\FileFolder\#attributes.attachments#"> 


<cfset CurrentDirectory=Directory>  
<cfset CurrentDirectory=ListDeleteAt(CurrentDirectory,ListLen(CurrentDirectory,"/\"),"/\")>  

<cfoutput>  
 <b>Current Directory:</b> #CurrentDirectory#  
    <br />  
</cfoutput>  

<cfdirectory action="list" directory="#CurrentDirectory#" name="result">  
<cfdump var="#result#"> 

当我稍微更改代码时

<cfset CurrentDirectory=GetBaseTemplatePath()> 

我的代码有效,我得到了当前目录中所有文件的列表。我的路上是否有我看不到的错误?

这是我的 CFMAIL 部分,我确实有问题。当我转储#result#查询时,我会得到文件夹中的所有文件。然后我得到这个错误:

The resource 2011093475839213.pdf was not found.

The root cause was: ''.

尽管有错误,但我确实收到了一封电子邮件,只是没有收到附件。

<!--- Email Test --->
<CFMAIL FROM="user1@example.com" TO="user2@example.com"  SUBJECT="Test" type="HTML">
<P> This is the attachment test</P>
<p> For this test to be successful, we need to receive some file attachments with this email</p>

    <cfloop query="result">

        <cfmailparam file="#result.name#" disposition="attachment">

    </cfloop>


</cfmail>
<!--- Email Test Ends --->
4

2 回答 2

2

cfdirectory 标签将允许您搜索具有特定模式的文件夹。使用它返回的查询,您可以遍历它并将您需要的所有文件附加到电子邮件中。

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f99.html

于 2012-06-19T21:20:41.850 回答
1

像这样的东西:

<cfdirectory action="list" directory="#myDirectory#" name="myDir">

<cfmail subject="My Subject" to="yourAddress" from="myAddress">
  My Message
  <cfsilent>
    <cfloop query="myDir">
      <cfif Left(myDir.name,1) eq "Z">
        <cfmailparam file="#myDirectory & myDir.name#">
      </cfif>
    </cfloop>
  </cfsilent>
</cfmail>
于 2012-06-19T21:26:34.293 回答