}
$cnt = count($header);
$hdr_s = '';
+
for ($i = 0 ; $i < $cnt ; $i++) {
- $hdr_s .= $this->foldLine($header[$i], 78, str_pad('',4));
+ $sKey = substr($header[$i],0,strpos($header[$i],':'));
+ switch ($sKey)
+ {
+ case 'Message-ID':
+ case 'In-Reply_To':
+ $hdr_s .= $header[$i];
+ break;
+ case 'References':
+ $sRefs = substr($header[$i],12);
+ $aRefs = explode(' ',$sRefs);
+ $sLine = 'References:';
+ foreach ($aRefs as $sReference) {
+ if (strlen($sLine)+strlen($sReference) >76) {
+ $hdr_s .= $sLine;
+ $sLine = $rn . ' ' . $sReference;
+ } else {
+ $sLine .= ' '. $sReference;
+ }
+ }
+ $hdr_s .= $sLine;
+ break;
+ default: $hdr_s .= $this->foldLine($header[$i], 78, str_pad('',4)); break;
+ }
}
-// $debug = "Debug: <123456789012345678901234567890123456789012345678901234567890123456789>\r\n";
-// $this->foldLine($debug, 78, str_pad('',4));
$header = $hdr_s;
$header .= $rn; /* One blank line to separate header and body */
$raw_length += strlen($header);