thomascube
2010-09-21 cb2bc809ef29f349d38c89e202d821e67bb4c947
program/steps/mail/get.inc
@@ -35,6 +35,29 @@
ob_end_clean();
// Now we need IMAP connection
if (!$RCMAIL->imap_connect()) {
  // Get action is often executed simultanously.
  // Some servers have MAXPERIP or other limits.
  // To workaround this we'll wait for some time
  // and try again (once).
  // Note: Random sleep interval is used to minimize concurency
  // in getting message parts
  if (!isset($_GET['_redirected'])) {
    usleep(rand(10,30)*100000); // 1-3 sec.
    header('Location: ' . $_SERVER['REQUEST_URI'] . '&_redirected=1');
  }
  else {
    raise_error(array(
      'code' => 500, 'type' => 'php',
      'file' => __FILE__, 'line' => __LINE__,
      'message' => 'Unable to get/display message part. IMAP connection error'),
      true, true);
  }
  // Don't kill session, just quit (#1486995)
  exit;
}
// similar code as in program/steps/mail/show.inc
if (!empty($_GET['_uid'])) {
  $RCMAIL->config->set('prefer_html', true);
@@ -56,7 +79,7 @@
    $ctype_secondary = strtolower($part->ctype_secondary);
    $mimetype = sprintf('%s/%s', $ctype_primary, $ctype_secondary);
    $browser = new rcube_browser;
    $browser = $RCMAIL->output->browser;
    // send download headers
    if ($_GET['_download']) {