撰寫新郵件程式。
[root@mail squirrelmail-1.4.8]# diff -wuN ./src/compose.php /var/www/squirrelmail/src/compose.php
--- ./src/compose.php2006-08-03 22:48:09.000000000 +0800
+++ /var/www/squirrelmail/src/compose.php2014-07-21 08:00:13.813566843 +0800
修改自動簽名分隔符號。
@@ -529,7 +553,8 @@
}
$signature = getSig($data_dir, $username, $no);
}
- $body .= "\n\n".($prefix_sig==true? "-- \n":'').$signature;
+$prefixsig = "++++++++++++++++++++++"; //dywang
+ $body .= "\n\n".($prefix_sig==true? $prefixsig."\n" :'').$signature."\n".$prefixsig;
if ($compose_new_win == '1') {
compose_Header($color, $mailbox);
} else {
修改郵件本文編碼,並刪除多餘空白行。
@@ -691,9 +716,12 @@
$actual = 'us-ascii';
}
- if ( $actual && is_conversion_safe($actual) && $actual != $default_charset){
- $bodypart = charset_convert($actual,$bodypart,$default_charset,false);
- }
+$bodypart = utf8convert($bodypart,$actural); //dywang
+$bodypart = preg_replace("/(\r?\n)\\1+/","\\1",$bodypart); //dywang
+$bodypart = preg_replace("/([\s]*
\n)+/","
\n",$bodypart); //dywang
$body .= $bodypart;
在送出的郵件主題加入編號提示。
@@ -845,7 +874,9 @@
sqsession_register($compose_messages, 'compose_messages');
session_write_close();
sqimap_logout($imapConnection);
+if(!stristr($subject,$default_charset))$subject = $default_charset . $subject; //dywang
}
$ret = array( 'send_to' => $send_to,
'send_to_cc' => $send_to_cc,
'send_to_bcc' => $send_to_bcc,
修正附檔檔名編碼顯示的轉碼。
@@ -882,7 +913,8 @@
$filename = $message->getFilename();
break;
}
- $filename = decodeHeader($filename, false, false);
+ $filename = decodeHeader($filename,false,false,true); //dywang must debug
+$filename = utf8convert($filename,'');
if (isset($languages[$squirrelmail_language]['XTRA_CODE']) &&
function_exists($languages[$squirrelmail_language]['XTRA_CODE'])) {
$filename = $languages[$squirrelmail_language]['XTRA_CODE']('encode', $filename);
修改郵件簽名分隔符號。
@@ -958,6 +990,7 @@
$username, $compose_messages, $composesession, $default_charset,
$javascript_on;
+$prefixsig = "++++++++++++++++++++++"; //dywang
if ($javascript_on)
$onfocus = ' οnfοcus="alreadyFocused=true;"';
else
修正郵件傳送位址上的編碼。
@@ -973,9 +1006,9 @@
$body = $values['body'];
$identity = (int) $values['identity'];
} else {
- $send_to = decodeHeader($send_to, true, false);
- $send_to_cc = decodeHeader($send_to_cc, true, false);
- $send_to_bcc = decodeHeader($send_to_bcc, true, false);
+ $send_to = decodeHeader($send_to, true, false,true); //dywang
+ $send_to_cc = decodeHeader($send_to_cc, true, false,true);
+ $send_to_bcc = decodeHeader($send_to_bcc, true, false,true);
}
if ($use_javascript_addr_book) {
修正郵件自動簽名顯示方式。
@@ -1132,18 +1167,18 @@
if ($sig_first == '1') {
if ($default_charset == 'iso-2022-jp') {
- echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP');
+ echo "\n\n\n".($prefix_sig==true? $prefixsig."\n":'').mb_convert_encoding($signature, 'EUC-JP')."\n".$prefixsig;
} else {
- echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false,true);
+ echo "\n\n\n".($prefix_sig==true? $prefixsig."\n":'').decodeHeader($signature,false,false,true)."\n".$prefixsig;
}
echo "\n\n".htmlspecialchars(decodeHeader($body,false,false,true));
}
else {
- echo "\n\n".htmlspecialchars(decodeHeader($body,false,false,true));
+ echo "\n\n\n".htmlspecialchars(decodeHeader($body,false,false,true));
if ($default_charset == 'iso-2022-jp') {
- echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP');
+ echo "\n".($prefix_sig==true? $prefixsig."\n":'').mb_convert_encoding($signature, 'EUC-JP')."\n".$prefixsig;
}else{
- echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false,true);
+ echo "\n".($prefix_sig==true? $prefixsig."\n":'').decodeHeader($signature,false,false,true)."\n".$prefixsig;
}
}
} else {
修正附件抬頭編碼顯示。
@@ -1213,7 +1248,8 @@
foreach ($composeMessage->entities as $key => $attachment) {
$attached_file = $attachment->att_local_name;
if ($attachment->att_local_name || $attachment->body_part) {
- $attached_filename = decodeHeader($attachment->mime_header->getParameter('name'));
+ $attached_filename = decodeHeader($attachment->mime_header->getParameter('name'),false,false,true);//dywang
$type = $attachment->mime_header->type0.'/'.
$attachment->mime_header->type1;