diff --git a/core/ajax/share.php b/core/ajax/share.php index c251f8e7bae..a7fecf33f30 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -231,12 +231,27 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from ); // send it out now - try { - OCP\Util::sendMail($to_address, $to_address, $subject, $text, $from_address, $displayName, 1, $alttext); - OCP\JSON::success(); - } catch (Exception $exception) { - OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($exception->getMessage())))); + $rs = explode(' ', $to_address); + $failed = array(); + foreach ($rs as $r) { + try { + \OCP\Util::sendMail($r, $r, $subject, $text, $from_address, $displayName, 1, $alttext); + } catch (\Exception $e) { + \OCP\Util::writeLog('sharing', "Can't send mail with public link to $r: " . $e->getMessage(), \OCP\Util::ERROR); + $failed[] = $r; + } } + + if (empty($failed)) { + OCP\JSON::success(); + } else { + OCP\JSON::error(array( + 'data' => array( + 'message' => $l->t("Couldn't send mail to following users: %s ", + implode(', ', $failed) + ) + ) + )); } break; } } else if (isset($_GET['fetch'])) { diff --git a/lib/private/mail.php b/lib/private/mail.php index b339b33e962..27dc6d3d8ca 100644 --- a/lib/private/mail.php +++ b/lib/private/mail.php @@ -72,11 +72,8 @@ class OC_Mail { $mailo->From = $fromaddress; $mailo->FromName = $fromname;; $mailo->Sender = $fromaddress; - $a=explode(' ', $toaddress); try { - foreach($a as $ad) { - $mailo->AddAddress($ad, $toname); - } + $mailo->AddAddress($toaddress, $toname); if($ccaddress<>'') $mailo->AddCC($ccaddress, $ccname); if($bcc<>'') $mailo->AddBCC($bcc);