u)mǥI_%ױRfv7Z 6N}wU.-%* 5{lbp3^U5~u >b$i$܎c¦3* hVzɢRrJ##2PvQC^_!}/hJziyS `J)F6}]3p L]8m0gWGhGҤ/7.oθX_HeP lϱt,Zz-ءK<;@S[Uľf3}Eo{a}MM +Ieobp/7w8"U CpWiJ]'IcV@fE 'y-ܫ}B=>}} Eo.|f@>?&6FމEr^nθ6hᥟb}KrԶ`E^֣^;K;}'(ȽO1 ^x؊|vlʉ9+ 7 @L*K Ֆϛ٭W(k98\VF'?#b^ MdW)FmO#M?wY):B"xkصrC&u=+ Y *8v)Gh.]Wgs13w36CH]ղTf]3Fց޶Ml"TꎝXh_ў48hqeW6M꿎kι M(caش|;ו%q}(ٞ0ɫPokSG7ءy:O XKdy!Jɼn5T=VeJ,KF4voh#F:hMdޯNqlBMrʪS7W\ ߍ4"{DAfJg,RCi"dyލ2GOBIU.D`M͕wU@10dd5)Cwpba}y;¤-%TP-"֥sF!,| Ql 5ZŠ5w1⿀HRb$3 5۸T2H$yPjWA'@YzeciH:JfBaE}t43yΥJG밗oJ&I&u /s(MSz< 8/UoRy$9?t @^ooDF'q쫎<-H1~k~MOYKxNk}:=FMs ȅe`7~Zћǂs=!xJ믓ep`kmƑb`@PcoƑ<ղn#6˙fs f7]#+# ܛCNzzaACg(3+iFH9t1rS??}S'͚d:.#1ʓf_鈓y9F vjeN bt󉨯.ae]6+Lh\cm a[tI@%$A{ v+AeY5or29! s@^bvTqyҋdH?3=0x];bXt@.,&Vwڭ!/߻i_z\_~|$~G-F7^v,\ =$t!-[jVɫ~V] &4I 4.1C5ﰁzzB#:J6e.$tiy]=sM BPa Z7ݥ0rBHHOhzj8DC KOٗcѳ9F^3 S:&M,f]6z.og[`{Q#X={$# ]sAOQV9gYV_~j"e`{BDiub ~,gĦE_,bA`2W|tw+@>6i{8XL|L_KCQi'2W|tw]dkT*?,*kVRwgFN5K]O2 v} ?ۅ JpA]܄wgFN5K]OJrpξ)m=֡-(M䂺M ;LlpXvo"k?fwgFN5K]OnN,=īBIdXwTJ3eDo:v4d_5qKHTZv_cwgFN5K]O\Ix`~1cؽ&vmU2jI]*96TLVK/?xvr2X E,w2c'&ܧB*juoj˃@w0J1ŏ0j?+ mFMݨ)U"j"AYR%)9> Y<֙6'>ޯ%=*xMRDm 5,"Aډ*WKYTݥ"*ER 6~QwgFN5K]Oa鄎Wi۸uuVa޽J4F)2 0b_etnR)ÿl {ˢoaua (  el%f- 9G@%=^$l,vL,&3DvqA&FubT7 ̤D>ޯ%hr=hn$t0nz3 lݸ`K:Q.}g @ƪH}j{ڻD+WlJ[u{ #adq;K5Iqgc|Eawĥ(V'E*sCGK)uStC6 dZxLkr Bz;z"`aFnazzDA3K82rhSCmx E6vUޯ%bDΚ_ u7^o;䌐0W+rmz^Ъd+`#M//Ad1}x5C:ڝ􈹰>ޯ%DQ{Q :Dȇrȶϓ3swvYUٳI#ǽʎ:% voݞQdEkrMȼ<1,i&NwgFN5K]O\69Vf7wgFN5K]Ow^ؤiZxgFŏ0j?+ 4׆pÏkqX>ʁFy$7@f 'mimetype' => 'message/rfc822', 'path' => $message_file, 'size' => filesize($message_file), 'charset' => $MESSAGE->headers->charset ]; } // create message $MAIL_MIME = $SENDMAIL->create_message($headers, $message_text, false, [$attachment]); if (count($attachment) > 0) { // sanity check in case creating the attachment failed $folding = (int) $this->rcube->config->get('mime_param_folding'); $MAIL_MIME->addAttachment($attachment['path'], $attachment['mimetype'], $attachment['name'], true, '8bit', 'attachment', $attachment['charset'], '', '', $folding ? 'quoted-printable' : null, $folding == 2 ? 'quoted-printable' : null, '', RCUBE_CHARSET ); } } else { $headers = [ 'Resent-From' => $from_string, 'Resent-To' => $mailto, 'Resent-Date' => $this->rcube->user_date(), 'Resent-Message-ID' => $this->rcube->gen_message_id($from) ]; // create the bounce message $MAIL_MIME = new rcmail_resend_mail([ 'bounce_message' => $MESSAGE, 'bounce_headers' => $headers, ]); } $SENDMAIL->deliver_message($MAIL_MIME, $i == count($uids) - 1); // clean up if ($message_file) { unlink($message_file); } if ($debug) { rcube::write_log('markasjunk', $uid . ($spam ? ' SPAM ' : ' HAM ') . $mailto . ' (' . $subject . ')'); } } } private function _parse_vars($data, $spam, $from) { $data = str_replace('%u', $_SESSION['username'], $data); $data = str_replace('%t', $spam ? 'spam' : 'ham', $data); $data = str_replace('%l', $this->rcube->user->get_username('local'), $data); $data = str_replace('%d', $this->rcube->user->get_username('domain'), $data); $data = str_replace('%i', $from, $data); return $data; } }