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 に答える