Changeset 2818f8e in github


Ignore:
Timestamp:
Jul 6, 2009 5:13:10 AM (4 years ago)
Author:
alecpl <alec@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
b0d56e9
Parents:
2f2bb40
Message:
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    rf7fff8f r2818f8e  
    22=========================== 
    33 
     4- Show SMTP errors in browser (#1485927) 
    45- Allow WBR tag in HTML message (#1485960) 
    56- Use spl_autoload_register() instead of __autoload (#1485947) 
  • program/include/rcube_smtp.inc

    r3ca3bd4 r2818f8e  
    5050 * @return bool  Returns TRUE on success, or FALSE on error 
    5151 */ 
    52 function smtp_mail($from, $recipients, &$headers, &$body, &$response) 
     52function smtp_mail($from, $recipients, &$headers, &$body, &$response, &$error) 
    5353  { 
    5454  global $SMTP_CONN, $RCMAIL; 
     
    9797    if (PEAR::isError($result)) 
    9898      { 
     99      $response[] = "Connection failed: ".$result->getMessage(); 
     100      $error = array('label' => 'smtpconnerror', 'vars' => array('code' => $SMTP_CONN->_code)); 
    99101      $SMTP_CONN = null; 
    100       $response[] = "Connection failed: ".$result->getMessage(); 
    101102      return FALSE; 
    102103      } 
     
    120121      if (PEAR::isError($result)) 
    121122        { 
     123        $error = array('label' => 'smtpautherror', 'vars' => array('code' => $SMTP_CONN->_code)); 
     124        $response[] .= 'Authentication failure: ' . $result->getMessage() . ' (Code: ' . $result->getCode() . ')'; 
    122125        smtp_reset(); 
    123         $response[] .= 'Authentication failure: ' . $result->getMessage() . ' (Code: ' . $result->getCode() . ')'; 
    124126        return FALSE; 
    125127        } 
     
    161163  if (PEAR::isError($SMTP_CONN->mailFrom($from))) 
    162164    { 
    163     smtp_reset(); 
     165    $error = array('label' => 'smtpfromerror', 'vars' => array('from' => $from, 'code' => $SMTP_CONN->_code)); 
    164166    $response[] .= "Failed to set sender '$from'"; 
     167    smtp_reset(); 
    165168    return FALSE; 
    166169    } 
     
    171174  if (PEAR::isError($recipients)) 
    172175    { 
     176    $error = array('label' => 'smtprecipientserror'); 
    173177    smtp_reset(); 
    174178    return FALSE; 
     
    181185    if (PEAR::isError($SMTP_CONN->rcptTo($recipient))) 
    182186      { 
     187      $error = array('label' => 'smtptoerror', 'vars' => array('to' => $recipient, 'code' => $SMTP_CONN->_code)); 
     188      $response[] .= "Failed to add recipient '$recipient'"; 
    183189      smtp_reset(); 
    184       $response[] .= "Failed to add recipient '$recipient'"; 
    185190      return FALSE; 
    186191      } 
     
    198203    
    199204  // Send the message's headers and the body as SMTP data. 
    200   if (PEAR::isError($SMTP_CONN->data($data))) 
    201     { 
    202     smtp_reset(); 
     205  if (PEAR::isError($result = $SMTP_CONN->data($data))) 
     206    { 
     207    $error = array('label' => 'smtperror', 'vars' => array('msg' => $result->getMessage())); 
    203208    $response[] .= "Failed to send data"; 
     209    smtp_reset(); 
    204210    return FALSE; 
    205211    } 
     
    219225  global $SMTP_CONN; 
    220226 
    221   if (is_object($SMTP_CONN)) 
     227  if (is_object($SMTP_CONN) && is_resource($SMTP_CONN->_socket->fp)) 
    222228    { 
    223229    $SMTP_CONN->rset(); 
     
    225231    } 
    226232  } 
    227  
    228233 
    229234 
  • program/lib/Net/SMTP.php

    rd78c417 r2818f8e  
    857857            if (strlen($data) >= $this->_esmtp['SIZE']) { 
    858858                $this->disconnect(); 
    859                 return PEAR::raiseError('Message size excedes the server limit'); 
     859                return PEAR::raiseError('Message size exceedes the server limit'); 
    860860            } 
    861861        } 
  • program/localization/en_GB/messages.inc

    r119cd17 r2818f8e  
    9898$messages['editorwarning'] = 'Switching to the plain text editor will cause all text formatting to be lost. Do you wish to continue?'; 
    9999$messages['httpreceivedencrypterror'] = 'A fatal configuration error occurred. Contact your administrator immediately. <b>Your message can not be sent.</b>'; 
     100$messages['smtpconnerror'] = 'SMTP Error ($code): Connection to server failed'; 
     101$messages['smtpautherror'] = 'SMTP Error ($code): Authentication failed'; 
     102$messages['smtpfromerror'] = 'SMTP Error ($code): Failed to set sender "$from"'; 
     103$messages['smtptoerror'] = 'SMTP Error ($code): Failed to add recipient "$to"'; 
     104$messages['smtprecipientserror'] = 'SMTP Error: Unable to parse recipients list'; 
     105$messages['smtperror'] = 'SMTP Error: $msg'; 
    100106 
    101107?> 
  • program/localization/en_US/messages.inc

    r119cd17 r2818f8e  
    9898$messages['editorwarning'] = 'Switching to the plain text editor will cause all text formatting to be lost. Do you wish to continue?'; 
    9999$messages['httpreceivedencrypterror'] = 'A fatal configuration error occurred. Contact your administrator immediately. <b>Your message can not be sent.</b>'; 
     100$messages['smtpconnerror'] = 'SMTP Error ($code): Connection to server failed'; 
     101$messages['smtpautherror'] = 'SMTP Error ($code): Authentication failed'; 
     102$messages['smtpfromerror'] = 'SMTP Error ($code): Failed to set sender "$from"'; 
     103$messages['smtptoerror'] = 'SMTP Error ($code): Failed to add recipient "$to"'; 
     104$messages['smtprecipientserror'] = 'SMTP Error: Unable to parse recipients list'; 
     105$messages['smtperror'] = 'SMTP Error: $msg'; 
    100106 
    101107?> 
  • program/localization/pl_PL/messages.inc

    r119cd17 r2818f8e  
    133133pił błĠ
    134134d krytyczny. Skontaktuj się z administratorem. <b>Nie moÅŒna wysłać wiadomości.</b>'; 
     135$messages['smtpconnerror'] = 'BłĠ
     136d SMTP ($code): Nie moÅŒna nawiÄ 
     137zać połĠ
     138czenia z serwerem'; 
     139$messages['smtpautherror'] = 'BłĠ
     140d SMTP ($code): Uwierzytelnianie nie powiodło się'; 
     141$messages['smtpfromerror'] = 'BłĠ
     142d SMTP ($code): Nie moÅŒna ustawić nadawcy "$from"'; 
     143$messages['smtptoerror'] = 'BłĠ
     144d SMTP ($code): Nie moÅŒna dodać odbiorcy "$to"'; 
     145$messages['smtprecipientserror'] = 'BłĠ
     146d SMTP: Parsowanie listy odbiorców nie powiodło się'; 
     147$messages['smtperror'] = 'BłĠ
     148d SMTP: $msg'; 
    135149 
    136150?> 
  • program/steps/mail/func.inc

    r2f2bb40 r2818f8e  
    13031303 * Send the given message compose object using the configured method 
    13041304 */ 
    1305 function rcmail_deliver_message(&$message, $from, $mailto) 
     1305function rcmail_deliver_message(&$message, $from, $mailto, &$smtp_error) 
    13061306{ 
    13071307  global $CONFIG, $RCMAIL; 
     
    13281328    // send message 
    13291329    $smtp_response = array(); 
    1330     $sent = smtp_mail($from, $a_recipients, ($foo = $message->txtHeaders($send_headers, true)), $msg_body, $smtp_response); 
     1330    $sent = smtp_mail($from, $a_recipients, ($foo = $message->txtHeaders($send_headers, true)), $msg_body, $smtp_response, $smtp_error); 
    13311331 
    13321332    // log error 
     
    13811381 
    13821382 
    1383 function rcmail_send_mdn($uid) 
     1383function rcmail_send_mdn($uid, &$smtp_error) 
    13841384{ 
    13851385  global $RCMAIL, $IMAP; 
     
    14391439    $compose->addAttachment($report, 'message/disposition-notification', 'MDNPart2.txt', false, '7bit', 'inline'); 
    14401440 
    1441     $sent = rcmail_deliver_message($compose, $identity['email'], $mailto); 
     1441    $sent = rcmail_deliver_message($compose, $identity['email'], $mailto, $smtp_error); 
    14421442 
    14431443    if ($sent) 
  • program/steps/mail/sendmail.inc

    recb9fb0 r2818f8e  
    442442  } 
    443443 
    444   $sent = rcmail_deliver_message($MAIL_MIME, $from, $mailto); 
     444  $sent = rcmail_deliver_message($MAIL_MIME, $from, $mailto, $smtp_error); 
    445445   
    446446  // return to compose page if sending failed 
    447447  if (!$sent) 
    448448    { 
    449     $OUTPUT->show_message("sendingfailed", 'error');  
     449    if ($smtp_error) 
     450      $OUTPUT->show_message($smtp_error['label'], 'error', $smtp_error['vars']);  
     451    else 
     452      $OUTPUT->show_message('sendingfailed', 'error');  
    450453    $OUTPUT->send('iframe'); 
    451454    } 
  • program/steps/mail/sendmdn.inc

    rcbbef37 r2818f8e  
    2222 
    2323if (!empty($_POST['_uid'])) { 
    24   $sent = rcmail_send_mdn(get_input_value('_uid', RCUBE_INPUT_POST)); 
     24  $sent = rcmail_send_mdn(get_input_value('_uid', RCUBE_INPUT_POST), $smtp_error); 
    2525} 
    2626 
     
    2929  $OUTPUT->set_env('mdn_request', false); 
    3030  $OUTPUT->show_message('receiptsent', 'confirmation'); 
     31} 
     32else if ($smtp_error) { 
     33  $OUTPUT->show_message($smtp_error['label'], 'error', $smtp_error['vars']); 
    3134} 
    3235else { 
  • skins/default/common.css

    r9ff98778 r2818f8e  
    186186} 
    187187 
    188  
    189188#message 
    190189{ 
     
    202201  width: 400px; 
    203202  margin: 0px auto; 
    204   height: 22px; 
    205203  min-height: 22px; 
    206204  padding: 8px 10px 8px 46px; 
Note: See TracChangeset for help on using the changeset viewer.