*

qdmail_receiver.phpからメール発信時刻情報を取得できるように修正! プロジェクトJ

公開日: : 最終更新日:2012/09/03 プロジェクトJ

PHPのメール受信にqdmail_receiver.phpを利用しています
便利です
作者には感謝しております

で、今回のプロジェクトに必要な情報にメール発信時刻があります
残念ながら、qdmail_receiver.phpにはありません
う~ん
ないなら、追加してみましょう

こちらとなります
qdmail_receiver.phpのdecodeHeader()に追加しました

	function decodeHeader(){
		static $addr = array(
			'to',
			'cc',
			'bcc',
			'reply-to',
			'from',
		);

		if(	!$this -> already_getMail ){
			$this->getMail();
		}

		// cutting
		if( 0 === preg_match( '/\r?\n\r?\n/is', trim( $this->all ), $matches, PREG_OFFSET_CAPTURE)){
			$this->header_all = $this->all ;
			$this->body_all   = null;
		}else{
			$offset = $matches[0][1] ;
			$this->header_all = trim( substr( $this->all , 0 , $offset ) ) ;
			$this->body_all   = trim( substr( $this->all , $offset + 1 ) ) ;
		}
		$this->header = $this->buildHeader( $this->header_all );
		// address field action , force to array type
		foreach( $addr as $ad ){
			if( !isset( $this->header[$ad]) ){ continue; }
			if(is_array($this->header[$ad])){
				$addr_header = array_shift( $this->header[$ad] );
			}else{
				$addr_header = $this->header[$ad];
			}
			$person = explode( ',' , $addr_header );
			$this->header[$ad] = array();
			foreach($person as $pers){
				if( !empty( $pers ) ){
					$this->header[$ad][] = $this->splitMime( $pers , true );
				}
			}
		}
		// subject
		if( isset( $this->header['subject'] ) ){
			$this->header['subject']= $this->splitMime( $this->header['subject'] , false );
		}

		// date masekatsu
		if( isset( $this->header['date'] ) ){
			$this->header['date']= $this->splitMime( $this->header['date'] , false );
		}

		$this->already_header = true;
	}

で、これで、qdmail_receiver.phpは完了

あとは、呼び出し側をこれにあわせて修正です
といっても簡単なもの

	 $tmp .= "【".date("Y/m/d H:i:s",strtotime($recv->header(array('date','name'),'none')))."】";

$recv->header(array(‘date’,’name’))で、データを取得して、strtotime、dateで日付フォーマットに整形して完成です

あ~、簡単でした
ちゃくちゃくと、プロジェクトJは進みます

【サイト情報】
QdmailReceiverとは – QdmailReceiver Multibyte mail decoder & POP Client

PC

関連記事

FTPサーバに修正が即、反映!楽チン! Notepad++

プロジェクトJでFTP経由でプログラムのPHPをアップしています 今までは、EmEdito

記事を読む

プロジェクトJ 始動

ちょっと、思うところがあって、プロジェクトを開始 久々のWEBプログラムです まずは

記事を読む

PC

PC

PAGE TOP ↑