| | |
| | | '/(<\/nobr>)(\s+)(<nobr>)/i', // space(s) between <NOBR> |
| | | '/<title>.*<\/title>/i', // PHP bug #32547 workaround: remove title tag |
| | | '/^(\0\0\xFE\xFF|\xFF\xFE\0\0|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', // byte-order mark (only outlook?) |
| | | '/<html\s[^>]+>/i', // washtml/DOMDocument cannot handle xml namespaces |
| | | ); |
| | | $html_replace = array( |
| | | '\\1'.' '.'\\3', |
| | | '', |
| | | '', |
| | | '<html>', |
| | | ); |
| | | $html = preg_replace($html_search, $html_replace, $html); |
| | | |
| | |
| | | $html = '<head></head>'. $html; |
| | | $html = substr_replace($html, '<meta http-equiv="Content-Type" content="text/html; charset='.RCMAIL_CHARSET.'" />', intval(stripos($html, '<head>')+6), 0); |
| | | } |
| | | |
| | | // turn relative into absolute urls |
| | | $html = rcmail_resolve_base($html); |
| | | |
| | |
| | | $wash_opts['html_elements'][] = 'link'; |
| | | $wash_opts['html_attribs'] = array('rel','type'); |
| | | } |
| | | console($html); |
| | | |
| | | $washer = new washtml($wash_opts); |
| | | $washer->add_callback('form', 'rcmail_washtml_callback'); |
| | |
| | | 'From' => $sender, |
| | | 'To' => $message->headers->mdn_to, |
| | | 'Subject' => rcube_label('receiptread') . ': ' . $message->subject, |
| | | 'Message-ID' => sprintf('<%s@%s>', md5(uniqid('rcmail'.rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])), |
| | | 'Message-ID' => sprintf('<%s@%s>', md5(uniqid('rcmail'.mt_rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])), |
| | | 'X-Sender' => $identity['email'], |
| | | 'Content-Type' => 'multipart/report; report-type=disposition-notification', |
| | | ); |