Login Name: %3$s', $resetlink, DI::baseUrl(), $user['nickname']));
$email = DI::emailer()
- ->newSystemMail((!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
+ ->newSystemMail(DI::app(), (!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
->withMessage(DI::l10n()->t('Password reset requested at %s', $sitename), $preamble, $body)
->forUser($user['uid'] ?? 0)
->withRecipient($user['email'])
', DI::baseUrl(), $user['nickname'], $new_password));
$email = DI::emailer()
- ->newSystemMail((!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
+ ->newSystemMail(DI::app(), (!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
->withMessage(DI::l10n()->t('Your password has been changed at %s', $sitename), $preamble, $body)
->forUser($user['uid'] ?? 0)
->withRecipient($user['email'])
}
$email = DI::emailer()
- ->newSystemMail((!empty($admin['language'])) ? DI::l10n()->withLang($admin['language']) : DI::l10n()->withLang('en'))
+ ->newSystemMail(DI::app(), (!empty($admin['language'])) ? DI::l10n()->withLang($admin['language']) : DI::l10n()->withLang('en'))
->withMessage(DI::l10n()->t('[Friendica System Notify]') . ' ' . DI::l10n()->t('User deleted their account'),
DI::l10n()->t('On your Friendica node an user deleted their account. Please ensure that their data is removed from the backups.'),
DI::l10n()->t('The user id is %d', local_user()))
$body = $l10n->t("The error message is\n[pre]%s[/pre]", $error_message);
$email = DI::emailer()
- ->newSystemMail($l10n)
+ ->newSystemMail(DI::app(), $l10n)
->withMessage($l10n->t('[Friendica Notify] Database update'), $preamble, $body)
->forUser($admin['uid'] ?? 0)
->withRecipient($admin['email'])
$from_build, $to_build));
$email = DI::emailer()
- ->newSystemMail($l10n)
+ ->newSystemMail(DI::app(), $l10n)
->withMessage($l10n->t('[Friendica Notify] Database update'), $preamble)
->forUser($admin['uid'] ?? 0)
->withRecipient($admin['email'])
));
$email = DI::emailer()
- ->newSystemMail(DI::l10n())
+ ->newSystemMail(DI::app(), DI::l10n())
->withMessage(DI::l10n()->t('Registration at %s', $sitename), $body)
->forUser($user['uid'] ?? 0)
->withRecipient($user['email'])
));
$email = DI::emailer()
- ->newSystemMail((!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
+ ->newSystemMail(DI::app(), $l10n)
->withMessage(DI::l10n()->t('Registration details for %s', $sitename), $preamble, $body)
->forUser($user['uid'] ?? 0)
->withRecipient($user['email'])
$body = sprintf($body, DI::baseUrl()->get(), $user['nickname'], $result['password'], DI::config()->get('config', 'sitename'));
$email = DI::emailer()
- ->newSystemMail((!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
+ ->newSystemMail(DI::app(), (!empty($user['language'])) ? DI::l10n()->withLang($user['language']) : DI::l10n())
->withMessage(DI::l10n()->t('Registration details for %s', DI::config()->get('config', 'sitename')), $preamble, $body)
->forUser($user['uid'] ?? 0)
->withRecipient($user['email'])
*/
public function build(bool $raw = false)
{
- if (empty($this->recipientAddress)) {
- throw new InternalServerErrorException('Recipient address is missing.');
- }
-
- if ((empty($this->senderName) || empty($this->senderAddress)) &&
+ if ((empty($this->recipientAddress)) &&
!empty($this->recipientUid)) {
$user = User::getById($this->recipientUid, ['username', 'email']);
namespace Friendica\Util\EMailer;
use Exception;
+use Friendica\App;
use Friendica\App\BaseURL;
use Friendica\Content\Text\BBCode;
use Friendica\Core\Config\IConfig;
use Friendica\Core\L10n;
use Friendica\Core\Renderer;
use Friendica\Network\HTTPException\InternalServerErrorException;
-use Friendica\Util\Emailer;
/**
* Builder for system-wide emails without any dependency to concrete entities (like items, activities, ..)
/** @var string */
protected $siteAdmin;
- public function __construct(L10n $l10n, BaseURL $baseUrl, IConfig $config)
+ public function __construct(App $a, L10n $l10n, BaseURL $baseUrl, IConfig $config)
{
parent::__construct($l10n, $baseUrl, $config);
} else {
$this->siteAdmin = $l10n->t('%s Administrator', $siteName);
}
+
+ $this->senderAddress = $a->getSenderEmailAddress();
}
/**
'$textversion' => $textVersion,
]);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public function build(bool $raw = false)
+ {
+ // for system emails, always use the sitename/site address as the sender
+ $this->withSender($this->config->get('config', 'sitename'), $this->senderAddress);
+
+ return parent::build($raw);
+ }
}
/**
* Creates a new system email
*
+ * @param App $a The Friendica app
* @param L10n $l10n The chosen language for the new email
*
* @return SystemMailBuilder
*/
- public function newSystemMail(L10n $l10n)
+ public function newSystemMail(App $a, L10n $l10n)
{
- return new SystemMailBuilder($l10n, $this->baseUrl, $this->config);
+ return new SystemMailBuilder($a, $l10n, $this->baseUrl, $this->config);
}
/**