5

ColdFusion を使用して、サーバーに保存されている添付ファイルを含む電子メールを送信しようとしています。

これらの添付ファイルを管理するために1.jpg2.doc...と呼びます。n.extここで、nは、元のファイル名などのファイルに関するその他の情報を保持するデータベースのキーです。

コードを使用できます:

<cfmailparam file="c:\path\1.doc">

1.doc. _ とにかくこれをオーバーライドして、ファイルとは別に自分のファイル名を指定できますか?

4

6 に答える 6

9

追加してみることができます:

<cfmailparam 
file="#actual_file_name#" 
disposition="attachment; filename=""#changed_file_name#""">

複数の引用符は意図的なものです...ファイル名にスペースを許可します。

于 2012-01-14T23:18:35.647 に答える
4

ライアンの提案は、おそらく最も簡単な解決策です。CF 8.01 を使用している場合は、cfmailparamの新しいremove属性を利用できます。で添付ファイルの名前を変更してcffileに渡したcfmailparam後、Coldfusion は、メール スプールによって処理された後、それらをディスクから削除します。

<cfmailparam file="#File_path#" remove="true" />

(バージョン 8.01 より前では、Coldfusion のメール スプールが終了する前に、アプリが一時ファイルを削除しないようにする必要がありました。)

あるいは、Coldfusion の基盤となる Java を呼び出し、好きな名前を付けて、メモリのみから添付ファイルを含む電子メール メッセージを作成することもできます。CF 7.02 の例については、Dan Switzer のブログを参照してください。

于 2009-04-23T15:37:09.087 に答える
1

8.0.1を実行している場合(cfdump var = "#server#"を実行して確認してください)、これにより作業が少し楽になる可能性があります。

  • cfmailタグとcfmailparamタグに、メール配信が成功した後に添付ファイルを削除するようにColdFusionに指示するremove属性が追加されました。
  • cfmailparamタグにcontent属性が追加され、ColdFusion変数のコンテンツを添付ファイルとして送信できるようになりました。これを行うには、次の例のように、#記号の変数をコンテンツ属性値として指定します。file属性は、ColdFusionシステム上のファイルではなく、メールヘッダーに含めるファイル名を指定します。

から:

http://www.adobe.com/support/documentation/en/coldfusion/801/cf801releasenotes.pdf

于 2009-04-23T16:37:17.083 に答える
1

CF8 以降、次のようにファイルとコンテンツを使用できます: http://www.bennadel.com/blog/1220-coldfusion-cfmailparam-s-new-content-attribute-is-awesome.htm

<cfmailparam
    file="someNiceName.doc"
    content="#fileRead( yourNastyFileName.doc )#"
/>
于 2014-05-12T15:50:43.777 に答える
1

現在これを行う唯一の方法は、cffile を使用して一時ディレクトリにファイルのコピーを作成し、名前を変更して添付することです。次に、終了したらファイルを削除するだけです。ファイルを添付する方法はないと思いますが、メールに添付する場合は別の呼び方をします。

于 2009-04-23T14:49:27.777 に答える