Ignore:
Timestamp:
Feb 20, 2006 6:29:14 PM (7 years ago)
Author:
roundcube
Message:

Fixed some charset bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/steps/mail/sendmail.inc

    r140 r147  
    4040function rcmail_get_identity($id) 
    4141  { 
    42   global $DB; 
     42  global $DB, $CHARSET, $OUTPUT; 
    4343   
    4444  // get identity record 
     
    5454    $sql_arr = $DB->fetch_assoc($sql_result); 
    5555    $out = $sql_arr; 
    56     $out['string'] = sprintf('%s <%s>', $sql_arr['name'], $sql_arr['mailto']); 
     56    $out['string'] = sprintf('%s <%s>', 
     57                             rcube_charset_convert($sql_arr['name'], $CHARSET, $OUTPUT->get_charset()), 
     58                             $sql_arr['mailto']); 
    5759    return $out; 
    5860    } 
     
    7577 
    7678// set default charset 
    77 if (empty($CHARSET)) 
    78   $CHARSET = 'ISO-8859-1'; 
    79  
    80 $input_charset = $CHARSET; 
     79$input_charset = $OUTPUT->get_charset(); 
    8180$message_charset = isset($_POST['_charset']) ? $_POST['_charset'] : $input_charset; 
    8281 
     
    163162 
    164163// use the configured delimiter for headers 
    165 $header_delm = $rcmail_config['mail_header_delimiter'] ? $rcmail_config['mail_header_delimiter'] : "\r\n"; 
     164$header_delm = $CONFIG['mail_header_delimiter'] ? $CONFIG['mail_header_delimiter'] : "\r\n"; 
    166165 
    167166// create PEAR::Mail_mime instance 
     
    199198 
    200199$msg_subject = $headers['Subject']; 
    201 global $MBSTRING; 
    202 if ($MBSTRING&&function_exists( "mb_encode_mimeheader")) 
    203   $headers['Subject'] = mb_encode_mimeheader( $headers['Subject'],$message_charset); 
     200 
     201if ($MBSTRING && function_exists("mb_encode_mimeheader")) 
     202  $headers['Subject'] = mb_encode_mimeheader($headers['Subject'], $message_charset); 
    204203 
    205204// send thru SMTP server using cusotm SMTP library 
     
    239238  { 
    240239  // unset some headers because they will be added by the mail() function 
     240  $headers_enc = $MAIL_MIME->headers($headers); 
    241241  $headers_php = $MAIL_MIME->_headers; 
    242   $headers_enc = $MAIL_MIME->headers($headers); 
    243242  unset($headers_php['To'], $headers_php['Subject']); 
    244  
     243   
    245244  // reset stored headers and overwrite 
    246245  $MAIL_MIME->_headers = array(); 
    247246  $header_str = $MAIL_MIME->txtHeaders($headers_php); 
    248247 
    249   if(ini_get('safe_mode')) 
     248  if (ini_get('safe_mode')) 
    250249    $sent = mail($headers_enc['To'], $headers_enc['Subject'], $msg_body, $header_str); 
    251250  else 
Note: See TracChangeset for help on using the changeset viewer.