出力文字コード
2008/09/14
したがって、適切にmb_internal_encoding()の文字コードの設定がなされていなければなりません。
特に、返り値の文字コードを別に指定したい場合は、charset()メソッドを使用してください。
carset() 返り値の文字コード指定 OOP型
$receiver->carset( 'EUC-JP' );
$receiver->carset( 'EUC-JP' );
echo "<pre>"; for($i = 1 ; $i <= $receiver->count() ; $i++){ echo "Mail number: ".$receiver->pointer()."\r\n"; echo htmlspecialchars( print_r( $receiver->header( array('subject','name') , 'none' ) ,true) ,ENT_NOQUOTES); echo "\r\n"; $receiver->next(); } echo "</pre>";メール件名一覧が表示されましたか?
$receiver->count()で、POPサーバーに残っているメールの件数を取得します。
$receiver->pointer()現在、どの順番のメールを読んでいるかを取得します。
$receiver->header( array('subject','name') , 'none' )いよいよ本題です。これで、件名を取得しています。
$receiver->header( 取得するヘッダー名 , 存在しない場合の返り値(省略可) )と書きます。
$receiver->header( 'subject' , 'none' )これで、subjectに関するデコードデータを配列の形で入手することができます。
$receiver->header( 'from' , 'none' )
$receiver->header( array('from',0,'name') , 'none' )なども試してみましょう。
注意! ヘッダー名は、すべて小文字で指定してください。ループの最後はカレントポインタの移動です。
$receiver->next();これで、次のメールへと処理をうつします。現在のメール情報は消去されます。(QdmaiReceiverの内部的に消去されるだけであって、POPサーバーからは削除されません)
echo qd_receive_mail( 'count' );これで、POPサーバーに溜まっているメールの件数を取得します。
qd_receive_mail( 'next' );
qd_receive_mail( 'direct' , 'メールデータ全文' );メールデータ全文は、本文だけなく、ヘッダーも含めた全文である必要があります。
QdmailReceiver::start( 'direct' , 'メールデータ全文' );あとは共通の使い方と同じです。