X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=program%2Finclude%2Frcube_smtp.php;h=8c668c0a4b03fb46f1a08d57051ba7783f262f96;hb=76507f7c63a660742e76889ad6e3919f3dde3bb0;hp=817eef8aa7c2d322ae70d4692ab66bd78a3afa0e;hpb=07e1de2dcd3f3ff8910a3680493f035b3c693cf0;p=roundcube.git diff --git a/program/include/rcube_smtp.php b/program/include/rcube_smtp.php index 817eef8..8c668c0 100644 --- a/program/include/rcube_smtp.php +++ b/program/include/rcube_smtp.php @@ -5,7 +5,7 @@ | program/include/rcube_smtp.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2005-2010, Roundcube Dev. - Switzerland | + | Copyright (C) 2005-2010, The Roundcube Dev Team | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: rcube_smtp.php 4666 2011-04-17 09:34:02Z alec $ + $Id: rcube_smtp.php 5499 2011-11-28 09:03:27Z alec $ */ @@ -214,14 +214,10 @@ class rcube_smtp if ($opts['dsn']) { $exts = $this->conn->getServiceExtensions(); - if (!isset($exts['DSN'])) { - $this->error = array('label' => 'smtpdsnerror'); - $this->response[] = "DSN not supported"; - return false; + if (isset($exts['DSN'])) { + $from_params = 'RET=HDRS'; + $recipient_params = 'NOTIFY=SUCCESS,FAILURE'; } - - $from_params = 'RET=HDRS'; - $recipient_params = 'NOTIFY=SUCCESS,FAILURE'; } // RFC2298.3: remove envelope sender address @@ -385,7 +381,7 @@ class rcube_smtp $from = $addresses[0]; // Reject envelope From: addresses with spaces. - if (strstr($from, ' ')) + if (strpos($from, ' ') !== false) return false; $lines[] = $key . ': ' . $value; @@ -439,14 +435,14 @@ class rcube_smtp // if we're passed an array, assume addresses are valid and implode them before parsing. if (is_array($recipients)) $recipients = implode(', ', $recipients); - + $addresses = array(); $recipients = rcube_explode_quoted_string(',', $recipients); reset($recipients); while (list($k, $recipient) = each($recipients)) { - $a = explode(" ", $recipient); + $a = rcube_explode_quoted_string(' ', $recipient); while (list($k2, $word) = each($a)) { if (strpos($word, "@") > 0 && $word[strlen($word)-1] != '"') @@ -457,6 +453,7 @@ class rcube_smtp } } } + return $addresses; }