mirror of
https://github.com/nextcloud/server.git
synced 2026-02-03 20:41:22 -05:00
Merge 875711e6b9 into d09b8c99de
This commit is contained in:
commit
73bb0b1d8f
1 changed files with 16 additions and 1 deletions
|
|
@ -39,6 +39,8 @@ use OCP\Share\IShare;
|
|||
use OCP\Share\IShareProviderWithNotification;
|
||||
use OCP\Util;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\Mail\Provider\IManager as IMailManager;
|
||||
|
||||
/**
|
||||
* Class ShareByMail
|
||||
|
|
@ -57,6 +59,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
|
|||
|
||||
public function __construct(
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private IDBConnection $dbConnection,
|
||||
private ISecureRandom $secureRandom,
|
||||
private IUserManager $userManager,
|
||||
|
|
@ -72,6 +75,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
|
|||
private IEventDispatcher $eventDispatcher,
|
||||
private IShareManager $shareManager,
|
||||
private IEmailValidator $emailValidator,
|
||||
private IMailManager $mailManager,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -322,6 +326,7 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
|
|||
|
||||
$initiatorUser = $this->userManager->get($initiator);
|
||||
$initiatorDisplayName = ($initiatorUser instanceof IUser) ? $initiatorUser->getDisplayName() : $initiator;
|
||||
$initiatorEmail = ($initiatorUser instanceof IUser) ? $initiatorUser->getEMailAddress() : null;
|
||||
$message = $this->mailer->createMessage();
|
||||
|
||||
$emailTemplate = $this->mailer->createEMailTemplate('sharebymail.RecipientNotification', [
|
||||
|
|
@ -380,7 +385,17 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
|
|||
]
|
||||
);
|
||||
}
|
||||
$message->setFrom([Util::getDefaultEmailAddress($instanceName) => $senderName]);
|
||||
$fromAddress = Util::getDefaultEmailAddress(user_part: $instanceName);
|
||||
$mailProvidersEnabled = $this->appConfig->getValueBool('core', 'mail_providers_enabled');
|
||||
if ($mailProvidersEnabled && $this->mailManager->has()) {
|
||||
if ($initiatorEmail !== null) {
|
||||
$service = $this->mailManager->findServiceByAddress($initiator, $initiatorEmail);
|
||||
if ($service !== null) {
|
||||
$fromAddress = $service->getPrimaryAddress()->getAddress();
|
||||
}
|
||||
}
|
||||
}
|
||||
$message->setFrom([$fromAddress => $senderName]);
|
||||
|
||||
// The "Reply-To" is set to the sharer if an mail address is configured
|
||||
// also the default footer contains a "Do not reply" which needs to be adjusted.
|
||||
|
|
|
|||
Loading…
Reference in a new issue