зеркало из https://github.com/nextcloud/server.git
send an individual email to each recipient
This commit is contained in:
Родитель
1cde17d60b
Коммит
f1ecc758f5
|
@ -145,10 +145,17 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
|||
}
|
||||
|
||||
$result = $mailNotification->sendLinkShareMail($to_address, $file, $link, $expiration);
|
||||
if($result === true) {
|
||||
if(empty($result)) {
|
||||
\OCP\JSON::success();
|
||||
} else {
|
||||
\OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($result))));
|
||||
$l = OC_L10N::get('core');
|
||||
OCP\JSON::error(array(
|
||||
'data' => array(
|
||||
'message' => $l->t("Couldn't send mail to following users: %s ",
|
||||
implode(', ', $result)
|
||||
)
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -97,7 +97,7 @@ class MailNotifications {
|
|||
try {
|
||||
\OCP\Util::sendMail($to, $recipientDisplayName, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Util::writeLog('sharing', "Can't send mail to inform the user abaut an internal share: " . $e->getMessage() , \OCP\Util::ERROR);
|
||||
\OCP\Util::writeLog('sharing', "Can't send mail to inform the user about an internal share: " . $e->getMessage() , \OCP\Util::ERROR);
|
||||
$noMail[] = $recipientDisplayName;
|
||||
}
|
||||
}
|
||||
|
@ -109,23 +109,26 @@ class MailNotifications {
|
|||
/**
|
||||
* @brief inform recipient about public link share
|
||||
*
|
||||
* @param string recipient recipient email address
|
||||
* @param string $recipient recipient email address
|
||||
* @param string $filename the shared file
|
||||
* @param string $link the public link
|
||||
* @param int $expiration expiration date (timestamp)
|
||||
* @return mixed $result true or error message
|
||||
* @return array $result of failed recipients
|
||||
*/
|
||||
public function sendLinkShareMail($recipient, $filename, $link, $expiration) {
|
||||
$subject = (string)$this->l->t('%s shared »%s« with you', array($this->senderDisplayName, $filename));
|
||||
list($htmlMail, $alttextMail) = $this->createMailBody($filename, $link, $expiration);
|
||||
try {
|
||||
\OCP\Util::sendMail($recipient, $recipient, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Util::writeLog('sharing', "Can't send mail with public link: " . $e->getMessage(), \OCP\Util::ERROR);
|
||||
return $e->getMessage();
|
||||
$rs = explode(' ', $recipient);
|
||||
$failed = array();
|
||||
foreach ($rs as $r) {
|
||||
try {
|
||||
\OCP\Util::sendMail($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Util::writeLog('sharing', "Can't send mail with public link to $r: " . $e->getMessage(), \OCP\Util::ERROR);
|
||||
$failed[] = $r;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return $failed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче