/**
  * inform recipient about public link share
  *
  * @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 array $result of failed recipients
  */
 public function sendLinkShareMail($recipient, $filename, $link, $expiration)
 {
     $subject = (string) $this->l->t('%s shared »%s« with you', [$this->senderDisplayName, $filename]);
     list($htmlBody, $textBody) = $this->createMailBody($filename, $link, $expiration);
     try {
         $message = $this->mailer->createMessage();
         $message->setSubject($subject);
         $message->setTo([$recipient]);
         $message->setHtmlBody($htmlBody);
         $message->setPlainBody($textBody);
         $message->setFrom([\OCP\Util::getDefaultEmailAddress('sharing-noreply') => (string) $this->l->t('%s via %s', [$this->senderDisplayName, $this->defaults->getName()])]);
         if (!is_null($this->replyTo)) {
             $message->setReplyTo([$this->replyTo]);
         }
         return $this->mailer->send($message);
     } catch (\Exception $e) {
         $this->logger->error("Can't send mail with public link to {$recipient}: " . $e->getMessage(), ['app' => 'sharing']);
         return [$recipient];
     }
 }
 /**
  * Get the sender data
  * @param string $setting Either `email` or `name`
  * @return string
  */
 protected function getSenderData($setting)
 {
     if (empty($this->senderAddress)) {
         $this->senderAddress = Util::getDefaultEmailAddress('no-reply');
     }
     if (empty($this->senderName)) {
         $defaults = new Defaults();
         $this->senderName = $defaults->getName();
     }
     if ($setting === 'email') {
         return $this->senderAddress;
     }
     return $this->senderName;
 }