▼ return値の設定
Qdmail 1.0.3b以降では、任意のメソッドの値を返り値とする配列を、qd_send_mailの返り値にすることができます。
以下の例は、事前に文字コードをutf-8,base64に変更し、ログ機能をONにした上で、メールを送信し、送信した後に、sizeBody(),smtpData() メソッドを実行して、その返り値を、$option と同じ形で返します。
しかし、returnキーが設定されている場合は、メールを送信した後に、returnキーの奥のさらに配列のキー名のメソッドが実行され、その返り値が、配列として返されます。
上記のサンプルコードでは、$ret には以下のような配列が返されます。
以下の例は、事前に文字コードをutf-8,base64に変更し、ログ機能をONにした上で、メールを送信し、送信した後に、sizeBody(),smtpData() メソッドを実行して、その返り値を、$option と同じ形で返します。
$return = array( 'sizeBody'=>null, 'smtpData'=>null ); $before = array( 'charset'=>array('utf-8','base64'), 'logLevel'=>1 ); $type = 'text'; $option = array( 'type'=> $text , 'option'=>$before , 'return' =>$return ); $ret = qd_send_mail( $option , 'address@example.com', 'タイトル', '本文', 'from@example.com' );$ret は、第1引数の$opiton のキーreturn が設定されていない場合は、メール送信ができたらtrue,エラーだった場合はfalseを返します。
しかし、returnキーが設定されている場合は、メールを送信した後に、returnキーの奥のさらに配列のキー名のメソッドが実行され、その返り値が、配列として返されます。
上記のサンプルコードでは、$ret には以下のような配列が返されます。
Array ( [type] => text [option] => Array ( [charset] => Array ( [0] => utf-8 [1] => base64 ) [logLevel] => 1 ) [return] => Array ( [sizeBody] => 12 //例示 [smtpData] => '(ヘッダー+本文データ)' [qd_send_mail] => true ) )キーqd_send_mailには、問題がなかった場合はtrue,エラーがあった場合には、falseが返されます。
メールを送信せずに返り値だけ欲しい場合
$before = array(
'charset'=>array('utf-8','base64'),
'logLevel'=>1,
'renderMode'=>true
);
▼ コメント(0件)
- TB-URL http://hal456.net/qdmail/064/tb/
▼ レンダーモード
■レンダーモードとは
(バージョン1.0.3b以降の機能です。0系では使用できません。)レンダーモードとは、メールの作成まで行い、最後の送信は実行しないモードです。
メールのヘッダー、本文のビルド&レンダー(作成完了まで)は行います。
どんな時にレンダーモードを使用するか?
例えば。。。- メール本文まではQdmailで作成し、後は自作のSMTPプログラムで送信する。
- 正確なメール本文のバイト数を送信前に事前に知りたい
- 送信前にエラーがでるかどうか知りたい
Qdmailでは、$mail->send()メソッド内にて、メールの作成を行うので、このような仕様にしました。
レンダーモードの指定方法
メソッド名は、renderMode() です。基本的なOOPモード,easyモードでは
$mail -> renderMode( true );qd_send_mail()モードでは、
$option = array( 'renderMode'=>true ); $type = array( 'type'=>'text' , 'option' => $option ); qd_send_mail( $type , $to , .......);となります。
# 2009年09月04日(金) 午後3時53分
レンダーモードで、$mail -> send() した後に、
作成されたメール本文のデータを参照するにはどのようにすればよろしいでしょうか?
- TB-URL http://hal456.net/qdmail/061/tb/
▼ smtp用メールデータのみを取得する
(この機能は、バージョン1.0.3b以降です。0系では使用できません。)
Qdmailで作成したsmtp用メール全データを渡すメソッドです。
このメソッドでは、送信されることはありません。
Qdmailでメールデータだけを作成し、他のSMTP送信ソフトなどで送信する場合などにご利用ください。
Qdmailで作成したsmtp用メール全データを渡すメソッドです。
このメソッドでは、送信されることはありません。
Qdmailでメールデータだけを作成し、他のSMTP送信ソフトなどで送信する場合などにご利用ください。
$mail -> smtpData();このメソッドで、以下のようなsmtp用のデータを取得することができます。
(ヘッダー)
CRLF
(本文、添付ファイル等のマルチパートも含むデータ)
- TB-URL http://hal456.net/qdmail/063/tb/
▼ メールデータサイズを知る
(この機能は、バージョン1.0.3b以降です。0系では使用できません。)
Qdmailが作成したメールのバイト数を知ることができます。
例えば、デコメなど容量制限のあるサービスを使用する際には、事前にメールのデータサイズを把握しておく必要がありますってことで。
Qdmailが作成したメールのバイト数を知ることができます。
例えば、デコメなど容量制限のあるサービスを使用する際には、事前にメールのデータサイズを把握しておく必要がありますってことで。
注意点
メールのヘッダーは、中継サーバーがヘッダー情報を加えていきますので、最終到達地点の正確なヘッダーデータサイズを知ることは不可能です。ここで照会するヘッダーサイズは、あくまでもQdmailが作成したヘッダーサイズです。本文サイズは、変わることはありません。メール本文のサイズ
$mail -> sizeBody();
メールヘッダーのサイズ
$mail -> sizeHeader();
メールの全サイズ
$mail -> sizeAll();メールヘッダーとメール本文の間には、CRLFが入りますので、
全サイズ = ヘッダーサイズ + 本文サイズ +2バイト(CRLF)の関係が成り立ちます。
- TB-URL http://hal456.net/qdmail/062/tb/