Skip to content
Snippets Groups Projects
Commit a9e5faf7 authored by Thomas Müller's avatar Thomas Müller
Browse files

Merge pull request #20981 from owncloud/issue-19848-multiple-emails-for-sharelink

Allow sending a share email to multiple users
parents e44b164f 820c3b85
No related branches found
No related tags found
No related merge requests found
...@@ -176,10 +176,12 @@ class MailNotifications { ...@@ -176,10 +176,12 @@ class MailNotifications {
$subject = (string)$this->l->t('%s shared »%s« with you', [$this->senderDisplayName, $filename]); $subject = (string)$this->l->t('%s shared »%s« with you', [$this->senderDisplayName, $filename]);
list($htmlBody, $textBody) = $this->createMailBody($filename, $link, $expiration); list($htmlBody, $textBody) = $this->createMailBody($filename, $link, $expiration);
$recipient = str_replace([', ', '; ', ',', ';', ' '], ',', $recipient);
$recipients = explode(',', $recipient);
try { try {
$message = $this->mailer->createMessage(); $message = $this->mailer->createMessage();
$message->setSubject($subject); $message->setSubject($subject);
$message->setTo([$recipient]); $message->setTo($recipients);
$message->setHtmlBody($htmlBody); $message->setHtmlBody($htmlBody);
$message->setPlainBody($textBody); $message->setPlainBody($textBody);
$message->setFrom([ $message->setFrom([
......
...@@ -123,7 +123,23 @@ class MailNotificationsTest extends \Test\TestCase { ...@@ -123,7 +123,23 @@ class MailNotificationsTest extends \Test\TestCase {
$this->assertSame([], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600)); $this->assertSame([], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
} }
public function testSendLinkShareMailWithReplyTo() { public function dataSendLinkShareMailWithReplyTo() {
return [
['lukas@owncloud.com', ['lukas@owncloud.com']],
['lukas@owncloud.com nickvergessen@owncloud.com', ['lukas@owncloud.com', 'nickvergessen@owncloud.com']],
['lukas@owncloud.com,nickvergessen@owncloud.com', ['lukas@owncloud.com', 'nickvergessen@owncloud.com']],
['lukas@owncloud.com, nickvergessen@owncloud.com', ['lukas@owncloud.com', 'nickvergessen@owncloud.com']],
['lukas@owncloud.com;nickvergessen@owncloud.com', ['lukas@owncloud.com', 'nickvergessen@owncloud.com']],
['lukas@owncloud.com; nickvergessen@owncloud.com', ['lukas@owncloud.com', 'nickvergessen@owncloud.com']],
];
}
/**
* @dataProvider dataSendLinkShareMailWithReplyTo
* @param string $to
* @param array $expectedTo
*/
public function testSendLinkShareMailWithReplyTo($to, array $expectedTo) {
$message = $this->getMockBuilder('\OC\Mail\Message') $message = $this->getMockBuilder('\OC\Mail\Message')
->disableOriginalConstructor()->getMock(); ->disableOriginalConstructor()->getMock();
...@@ -134,7 +150,7 @@ class MailNotificationsTest extends \Test\TestCase { ...@@ -134,7 +150,7 @@ class MailNotificationsTest extends \Test\TestCase {
$message $message
->expects($this->once()) ->expects($this->once())
->method('setTo') ->method('setTo')
->with(['lukas@owncloud.com']); ->with($expectedTo);
$message $message
->expects($this->once()) ->expects($this->once())
->method('setHtmlBody'); ->method('setHtmlBody');
...@@ -167,7 +183,7 @@ class MailNotificationsTest extends \Test\TestCase { ...@@ -167,7 +183,7 @@ class MailNotificationsTest extends \Test\TestCase {
$this->logger, $this->logger,
$this->defaults $this->defaults
); );
$this->assertSame([], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600)); $this->assertSame([], $mailNotifications->sendLinkShareMail($to, 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
} }
public function testSendLinkShareMailException() { public function testSendLinkShareMailException() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment