POP3サーバからヘッダ情報の受信


  メールの削除方法( model.php )



  
<?
# **********************************************************
# データの読出し
# **********************************************************
function GetData(  ) {

	global $ErrMessage;
	global $MessageCount;
	global $Mail;
	global $OutData;

	# メッセージのヘッダ情報の概要
	$MailList = imap_fetch_overview( $Mail, "1:$MessageCount" );
#	$MailList = imap_fetch_overview( $Mail, "1:10" );

	while ( list($key,$val) = each ($MailList) ) {

		$OutData .= "<TR>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# UID
		$OutData .= '削除マーク<INPUT type=submit name=send value="';
		$OutData .= $val->uid;
		$OutData .= '">';
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell>";
		# メッセージ番号
		$OutData .= $val->msgno;
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# 送信者
		$OutData .= '<A href="../body/control.php?uid=';
		$OutData .= $val->uid;
		$OutData .= '" target=NewWindow>';
		$OutData .= htmlentities( DecodeData( $val->from ) );
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# 件名
		$OutData .= DecodeData( $val->subject );
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# 受信日時
		$OutData .= $val->date;
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# サイズ(バイト数)
		$OutData .= $val->size;
		$OutData .= "</TD>\n";

		# フラグ
		$OutData .= "<TD class=MyCell>";
		$OutData .= $val->recent;
		$OutData .= "</TD>\n";
		$OutData .= "<TD class=MyCell>";
		$OutData .= $val->answered;
		$OutData .= "</TD>\n";
		$OutData .= "<TD class=MyCell>";
		$OutData .= $val->deleted;
		$OutData .= "</TD>\n";
		$OutData .= "<TD class=MyCell>";
		$OutData .= $val->seen;
		$OutData .= "</TD>\n";

		$OutData .= "<TD class=MyCell nowrap>";
		# メッセージID
		$OutData .= $val->message_id;
		$OutData .= "</TD>\n";

		$OutData .= "</TR>\n";

	}

}

# **********************************************************
# デコード
# **********************************************************
function DecodeData( $Value ) {

	# スペースで分割
	$Token = explode( " ", $Value );

	$Ret = "";

	while ( list($key,$val) = each ($Token)) {
		# デコード対象のテキスト
		if ( strtoupper(substr( $val, 0, 13 )) == "=?ISO-2022-JP" ) {
			# BASE64 -> JIS へのデコード
			$JisText = imap_mime_header_decode( $val );
			for( $i = 0; $i < count($JisText); $i++ ) {
				# JIS -> SJIS へのテコード
				$Ret .= mb_convert_encoding(
					$JisText[$i]->text,
					"SJIS",
					"JIS"
				);
			} 
		}
		# ASCII
		else {
			$Ret .= $val . " ";
		}
	}

	return $Ret;

}

# **********************************************************
# 画面の編集
# **********************************************************
function EditDataHead( ) {


}

# **********************************************************
# エラーチェック
# **********************************************************
function CheckDataHead( ) {

	global $ErrMessage;
	global $Mail;
	global $MessageCount;

	$MessageCount = imap_num_msg( $Mail );
	if ( $MessageCount == 0 ) {
		$ErrMessage = "メールボックスは空です";
	}

	if ( $_POST['send'] != '' ) {
		# チェック( 複数チェック可 )
		imap_delete( $Mail, (int)$_POST['send'], FT_UID );
		# 削除( 閉じる前にチェックしたメールを全て削除 )
		imap_expunge( $Mail );
		$MessageCount = imap_num_msg( $Mail );
	}

}
?>
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ