subject módon * @param string $uzenet Ez tartalmazza az üzenetet. Ha indításkor nincs megadva, akkor később kell megadni $mailer->uzenet módon * @param string $style Ez tartalmazza az üzenet stílusát. Ha indításkor nincs megadva, akkor később kell megadni $mailer->style módon */ function __construct($subject = '', $uzenet = '', $style = '' ){ if($subject != ''){ $this->subject = $subject; } if($uzenet != ''){ $this->uzenet = $uzenet; } if($style != ''){ $this->style = $style; } $this->mail_cache = false; $this->mail_trace = false; $this->felado_nev = RENDSZER_EMAIL_NEV; $this->felado_email = RENDSZER_EMAIL_CIM; $this->boundary(5); } /** * @desc * @version * @author james // queensite */ private function boundary($number = ''){ $this->tmp = explode("@", $this->felado_email); $this->boundary = $this->tmp[0]."-".md5(time()); $this->boundary2 = $this->tmp[0]."-".md5(time()); } /** * @desc * @version * @author james // queensite */ public function message_processor(){ $this->subject = "=?UTF-8?B?".base64_encode($this->subject)."?="; $this->head(); if(count($this->personal_elements)){ foreach($this->personal_elements AS $index => $element){ $this->personal_elements[$index] = '['.$element.']'; } } $this->uzenet = str_replace($this->personal_elements, $this->personal_array, $this->uzenet); if(count($this->attached_images)){ foreach($this->attached_images AS $index => $image){ $this->uzenet = str_replace($image, 'cid:image'.$index, $this->uzenet); } } } /** * @desc * @version * @author james // queensite */ public function send($cimzett = ''){ if($this->mail_trace == true){ $this->store_mail(); $this->trace(); //$this->message = str_replace('{trace_track}', 'email_id.'\" alt=\"\" width=\"1\" height=\"1\" />', $this->message); } /* mail("kruskaroland@gmail.com", "TESZT", "TESZT", "From: SMTP <".$this->felado_email.">" ."\r\n". "CC: Teszt " ."\r\n". "BCC: Teszt2 " ."\r\n". "Reply-To: Teszt3 " ."\r\n" );*/ if( mail($this->cimzett, $this->subject, $this->message,"From: ".$this->felado_nev." <".$this->felado_email.">"."\r\n". $this->header) ) { $this->success++; } else { $this->fail++; } } /** * @desc * @version * @author james // queensite */ private function store_mail(){ unset($this->email_id); $db = new Dbase('insert', 'email_cache'); $db->elemek = array( 'cimzett' => $this->cimzett, 'subject' => $this->subject, 'message' => $this->message, ); $db->sql(); $this->email_id = $db->id; } /** * @desc * @version * @author james // queensite */ private function trace(){ $db = new Dbase('insert', 'email_statusz'); $db->elemek = array('email_id' => $this->email_id); $db->sql(); } /** * @desc * @version * @author james // queensite */ public function header(){ if(!$this->reply_email){ $this->reply_email = $this->felado_email; } $this->header = "From: \"=?UTF-8?B?".base64_encode($this->felado_nev)."?=\" <".$this->felado_email."> Date: ".date('r')." Reply-To: ".$this->reply_email." Message-ID: <".$this->boundary."_".$this->felado_email."> MIME-Version: 1.0 Content-Type: multipart/related; boundary=\"==".$this->boundary."\" This is a MIME message. If you are reading this text, you might want to consider changing to a mail reader that understands how to properly display MIME multipart messages. --==".$this->boundary." Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit "; } /** * @desc * @version * @author james // queensite */ public function body(){} /** * @desc * @version * @author james // queensite */ private function head(){ if($this->style){ $style = file_get_contents($this->style); } $this->head = ' '.$this->subject.' '; } /** * @desc * @version * @author james // queensite */ public function message(){ global $host_name; if($this->sablon == "yes"){ $this->message .= " ".$this->head."
".$this->uzenet."
\r\n"; }else{ $this->message .= " ".$this->head." ".$this->uzenet." \r\n"; } if(count($this->attached_images)){ foreach ($this->attached_images AS $index => $image){ $filename = explode ("/",$image); $filename = $filename[count($filename)-1]; $data = chunk_split(base64_encode(file_get_contents($image))); $this->message .= ' --=='.$this->boundary.' Content-Type: image/jpeg Content-ID: Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="'.$filename.'" '.$data; } } /** * @desc html rész */ $html_message = explode('.', strip_tags($this->uzenet)); $html_message = implode('.\r\n', $html_message); $this->message .= ' --=='.$this->boundary.'-- '; } } ?>