use Friendica\Core\Hook;
use Friendica\DI;
use Friendica\Object\EMail\IEmail;
-use Friendica\Util\ConfigFileLoader;
+use Friendica\Core\Config\Util\ConfigFileManager;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
function phpmailer_install()
{
Hook::register('load_config' , __FILE__, 'phpmailer_load_config');
- Hook::register('emailer_send_prepare', __FILE__, 'phpmailer_emailer_send_prepare');
+ Hook::register('emailer_send_prepare', __FILE__, 'phpmailer_emailer_send_prepare', 5);
}
-function phpmailer_load_config(App $a, ConfigFileLoader $loader)
+function phpmailer_load_config(ConfigFileManager $loader)
{
- $a->getConfigCache()->load($loader->loadAddonConfig('phpmailer'));
+ DI::app()->getConfigCache()->load($loader->loadAddonConfig('phpmailer'), \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC);
}
/**
- * @param App $a
* @param IEmail $email
*/
-function phpmailer_emailer_send_prepare(App $a, IEmail &$email)
+function phpmailer_emailer_send_prepare(IEmail &$email)
{
// Passing `true` enables exceptions
$mailer = new PHPMailer(true);
try {
+ // Setup encoding.
+ $mailer->CharSet = 'UTF-8';
+ $mailer->Encoding = 'base64';
+
if (DI::config()->get('phpmailer', 'smtp')) {
// Set mailer to use SMTP
$mailer->isSMTP();
- // Setup encoding.
- $mailer->CharSet = 'UTF-8';
- $mailer->Encoding = 'base64';
-
// Specify main and backup SMTP servers
$mailer->Host = DI::config()->get('phpmailer', 'smtp_server');
$mailer->Port = DI::config()->get('phpmailer', 'smtp_port');