CFMAIL  
説明

SMTP サーバーを使用して、オプションでクエリー出力を含む電子メールメッセージを送信します。

 
カテゴリ

インターネットプロトコルタグ

 
シンタックス
<cfmail
   to = "recipient"
   from = "sender"
   cc = "copy_to"
   bcc = "blind_copy_to"
   subject = "msg_subject"
   replyto = "reply_to_addr"
   failto = "fail_message_addr"
   username = "user name"
   password = "password"
   wraptext = "column number"
   charset = "character encoding"
   type = "msg_type"
   mimeattach = "path"
   query = "query_name"
   group = "query_column"
   groupcasesensitive = "yes"、"no"
   startrow = "query_row"
   maxrows = "max_msgs"
   server = "serverspecs"
   port = "port_id"
   mailerid = "headerid"
   timeout = "seconds"
   spoolenable = "yes"、"no"
   debug = "yes"、"no">

(オプション) メールメッセージの本文と cfhttpparam タグのいずれかまたは両方

</cfmail>
 
関連項目

cfmailparam、cfmailpart、 cfpop、cfftp、cfhttp、cfldap、Wrap、『ColdFusion MX 開発ガイド』の第39章の「電子メールの送受信」 の「ColdFusion とメールサーバーの併用」

ColdFusion MX 6.1:

  • charset、failto、replyto、username、password、および wraptext の各属性が新たに追加されました。
  • server 属性で複数のメールサーバーを指定できるようになりました。
  • ColdFusion MX Administrator の [メール設定] ページにいくつかの設定オプションが追加されました。

ColdFusion MX: SpoolEnable 属性が追加されました。

 
使用方法

指定したアドレスにメールメッセージを送信します。メールメッセージには、添付ファイルを含めることができます。タグ本文に CFML コードを入れて、メール出力を生成できます。cfmailparam タグと cfmailpart タグは、cfmail タグ本文内でのみ使用できます。

メールメッセージは、シングルまたはマルチパートにできます。マルチパートのメールメッセージを送信する場合は、メッセージの内容をすべて cfmailpart タグ内に入れる必要があります。cfmailpart タグ内にないマルチパートのメッセージテキストは無視されます。

メモ: cfmail タグは、メールをディスクにスプールするときに添付ファイルのコピーを作成しません。スプール機能を有効にした添付ファイルのメッセージを送信するために cfmail タグを使用し、その添付ファイルを削除するために cffile タグを使用する場合、ファイルが削除された後でメール処理が実行される可能性があるため、メールが送信されないことがあります。この場合は、メールログに FileNotFound 例外が記録され、電子メールは送信されません。属性で SpoolEnable="No" を設定するか、ColdFusion MX Administrator でスプール機能を無効にすると、この問題を防ぐことができます。スプール機能を無効にすると、電子メールは直ちに配達されるようになります。
 
メールアドレスの指定

メールアドレスは、次のどの形式でも指定できます。

形式

user@server

rsmith@company.com

<user@server>

<rsmith@company.com>

表示名 <user@server>

Rob Smith <rsmith@company.com>

"表示名" <user@server>

"Rob Smith" <rsmith@company.com>

user@server (表示名)

rsmith@company.com (Rob Smith)

 
メールサーバーの指定

server 属性では、複数のメールサーバーを指定できます。

メモ: ColdFusion MX Standard で複数のメールサーバーを指定した場合、cfmail タグではその中の最初のサーバーのみが使用されます。メールログファイルに警告メッセージのログが記録され、残りのサーバーは無視されます。

サーバーごとに、オプションでユーザー名、パスワード、およびポートを指定できます。ここで設定する値は、対応する属性で設定した値よりも優先されます。server 属性は、次の形式で指定します。

[user:password@]server[:port],[user:password@]server[:port],....

たとえば、次の行では、デフォルトのポートを使用し、ユーザーとパスワードを使用しない mail.myco.com というサーバーを指定しています。次に、ユーザー、パスワード、および特定のポートを使用する 2 番めのサーバーを指定しています。

server=mail.myco.com,mail_admin:adm2qzf@mail2.myco.com:24

ColdFusion エンタープライズ版で複数のメールサーバーを指定すると、いずれかのサーバーに接続されるまで、指定した順序で利用可能なサーバーへの接続が試行されます。直前の 60 秒間利用できなかったサーバーには接続は試行されません。

 
<h3>cfmail の例</h3>

<!--- この例を使用する場合、囲んでいるコメントは削除してください。

<cfif IsDefined("form.mailto")>
   <cfif form.mailto is not ""
            AND form.mailfrom is not ""
            AND form.Subject is not "">
      <cfmail to = "#form.mailto#"
          from = "#form.mailFrom#"
          subject = "#form.subject#">
            このメッセージは cfmail を使用して構築された自動メーラーによって送信されました。
            = = = = = = = = = = = = = = = = = = = = = = = = = = =
            #form.body#
      </cfmail>   
      <h3>ありがとうございます。</h3>
      <p>ありがとうございます。<cfoutput>#mailfrom#:ユーザーのメッセージ #subject# は
            #mailto#</cfoutput> に送信されます。
   </cfif>   
</cfif>
<p>
<form action = "cfmail.cfm">
   <pre>
   TO:       <input type = "Text" name = "MailTo">
   FROM:<input type = "Text" name = "MailFrom">
   件名 :    <input type = "Text" name = "Subject">
   <hr>
   メッセージ本文 :
   <textarea name ="body" cols="40" rows="5" wrap="virtual"></textarea>
   </pre>
   <!--- 必要なフィールドを作成します。 --->
   <input type = "hidden" name = "MailTo_required" value = "受信者名を入力します。">
   <input type = "hidden" name = "MailFrom_required" value = "送信者名を入力します。">
   <input type = "hidden" name = "Subject_required" value = "件名を入力します。">
   <input type = "hidden" name = "Body_required" value = "テキストを入力します。">
   <p><input type = "Submit" name = "">
</form> 
--->
TO  
  必須
 

メッセージ受信者の電子メールアドレスです。

  • スタティックなアドレス (例 : "support@macromedia.com")。
  • アドレスが含まれている変数 (例 : "#Form.Email#")。
  • アドレスが含まれているクエリー列の名前 (例 : "#EMail#")。返される行ごとに電子メールメッセージが送信されます。
FROM  
  必須
 

電子メールメッセージの送信者の名前です。

  • スタティックな文字列 (例 : "support@mex.com")。
  • 変数 (例 : "#GetUser.EMailAddress#")。

この属性は、有効なインターネットアドレスでなくてもかまいません。任意のテキスト文字列を使用できます。

CC  
  オプション
 

メッセージのコピー先のアドレスです。

BCC  
  オプション
 

メッセージのコピー先のアドレスです。メッセージのヘッダにはリストされません。

SUBJECT  
  必須
 

メッセージの表題です。ダイナミックに作成することができます。たとえば、顧客に最新情報を通知するメッセージを送信するには、"注文番号 #Order_ID# のステータス" などを指定します。

REPLYTO  
  オプション
 

受信者が返信するときに宛先として使用するアドレスです。

FAILTO  
  オプション
 

メールシステムから配達失敗の通知が送信されるアドレスです。メールエンベロープの逆順パスの値を設定します。

USERNAME  
  オプション
 

認証を要求する SMTP サーバーに送信するユーザー名です。password 属性が必要です。

PASSWORD  
  オプション
 

認証を要求する SMTP サーバーに送信するパスワードです。username 属性が必要です。

WRAPTEXT  
  オプション
 
Default value: "テキストをラップしない"

メールテキストの最大行を文字数で指定します。指定した文字数よりも行が長い場合は、指定した位置の直前の空白文字 (タブやスペースなど) が改行に置き換わります。行に空白文字がない場合は、指定した位置に改行が挿入されます。この属性の一般的な値は 72 です。

CHARSET  
  オプション
 
Default value: "ColdFusion MX Administrator の [メール] ページで選択した文字エンコード。デフォルトは UTF-8 です。"

ヘッダを含むメールメッセージの文字エンコードです。一般的に使用される値を次に示します。

  • utf-8
  • iso-8859-1
  • windows-1252
  • us-ascii
  • shift_jis
  • iso-2022-jp
  • euc-jp
  • euc-kr
  • iso-2022-kr
  • big5
  • hz-gb-2312
  • euc-cn
  • utf-16

文字エンコードの詳細については、www.w3.org/International/O-charset.html を参照してください。

TYPE  
  オプション
 
Default value: "text/plain"

メッセージの MIME タイプです。有効な MIME メディアタイプまたは次のいずれかの値を指定できます。

  • text: text/plain タイプを指定します。
  • plain: text/plain タイプを指定します。
  • html: text/html タイプを指定します。

登録されているすべての MIME メディアタイプのリストについては、www.iana.org/assignments/media-types/ を参照してください。

MIMEATTACH  
  オプション
 

メッセージに添付するファイルのパスです。添付ファイルは、MIME 形式でエンコードされます。ファイルの MIME タイプは ColdFusion によって判断されます。添付ファイルを送信して MIME タイプを指定するには、cfmailparam タグを使用します。

QUERY  
  オプション
 

メッセージのデータを取り出す cfquery の名前です。複数のメッセージを送信する場合や、メッセージ内でクエリー結果を送信する場合は、この属性を使用します。

GROUP  
  オプション
 
Default value: "CurrentRow"

レコードのセットをグループ化して、1 つのメッセージとして送信する場合に使用するクエリー列です。たとえば、顧客に 1 セットの請求書を送信する場合、"Customer_ID" でグループ化します。大文字と小文字は区別されます。指定したフィールドでデータをソートする場合、隣り合う重複データは削除されます。

GROUPCASE
SENSITIVE
 
  オプション
 
Default value: "No"

ブール値です。group 属性を使用するときに、大文字と小文字を区別するかどうかを指定します。大文字と小文字の区別があるレコードをグループ化する場合は、この属性を Yes に設定します。

STARTROW  
  オプション
 
Default value: "1"

処理を開始するクエリー内の行です。

MAXROWS  
  オプション
 

クエリーをループするときに送信するメッセージの最大数です。

SERVER  
  オプション
 

メッセージの送信に使用する SMTP サーバーアドレス、または (エンタープライズ版のみ) サーバーアドレスのカンマ区切りのリストです。ここか ColdFusion MX Administrator で、少なくとも 1 つのサーバーを指定する必要があります。ここで設定する値は、Administrator で設定する値よりも優先されます。ポートの指定を含む値は、port 属性で設定する値よりも優先されます。詳細については、「使用方法」を参照してください。

PORT  
  オプション
 

SMTP サーバーがリクエストをリスンする TCP/IP ポートです (通常は 25)。ここで設定する値は、Administrator で設定する値よりも優先されます。

MAILERID  
  オプション
 
Default value: "ColdFusion MX アプリケーションサーバー"

X-Mailer SMTP ヘッダに渡されるメーラー ID です。この ID によって、メーラーのアプリケーションが識別されます。

TIMEOUT  
  オプション
 

SMTP サーバーへの接続がタイムアウトになるまで待機する秒数です。ここで設定する値は、Administrator で設定する値よりも優先されます。

SPOOLENABLE  
  オプション
 

メールをスプールするか、常にメールを直ちに送信するかを指定します。ColdFusion MX Administrator の [配達されるメールメッセージをスプール] で設定する値よりも優先されます。

  • Yes: 送信オペレーションが終了するまで、メッセージのコピーを保存します。ページでこのオプションを使用すると、No オプションを使用するページよりも処理が遅くなることがあります。
  • No: 送信オペレーションが終了するまでコピーを保管せずに、メッセージを送信キューに挿入します。このオプションを No に設定したときに配達エラーが発生すると、アプリケーション例外が発生し、mail.log ファイルにエラーのログが記録されます。
DEBUG  
  オプション
 
Default value: "No"
  • Yes: デバッグ出力を標準出力に送信します。デフォルトでは、コンソールウィンドウを使用できない場合、ColdFusion は出力をサーバー設定内の cf_rootruntimelogscoldfusion-out.log に送信します。J2EE 設定と JRun を使用する場合、デフォルトの場所は jrun_home/logs/servername-out.log です。
    注意 : このオプションを Yes に設定した場合、ColdFusion MX は、すべてのメッセージの内容などの詳細なデバッグ情報をログに書き込み、大容量のログをすばやく生成できます。
  • No: デバッグ出力を生成しません。