use PHPMailer via composer

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2018-12-18 10:49:18 +01:00
parent c9ee2ae7e0
commit fc0a495f2d
9 changed files with 29 additions and 5387 deletions

View File

@@ -17,9 +17,14 @@
*
*/
use \Froxlor\Database;
use \Froxlor\Settings;
use \Froxlor\Api\Commands\Froxlor;
define('AREA', 'admin');
require './lib/init.php';
// get sql-root access data
Database::needRoot(true);
Database::needSqlData();
@@ -337,7 +342,7 @@ elseif ($page == 'testmail')
/**
* Initialize the mailingsystem
*/
$testmail = new PHPMailer(true);
$testmail = new \PHPMailer\PHPMailer\PHPMailer(true);
$testmail->CharSet = "UTF-8";
if (Settings::Get('system.mail_use_smtp')) {
@@ -355,7 +360,7 @@ elseif ($page == 'testmail')
}
$_mailerror = false;
if (PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
if (\PHPMailer\PHPMailer\PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
// set return-to address and custom sender-name, see #76
$testmail->SetFrom(Settings::Get('panel.adminmail'), Settings::Get('panel.adminmail_defname'));
if (Settings::Get('panel.adminmail_return') != '') {
@@ -369,7 +374,7 @@ elseif ($page == 'testmail')
$testmail->MsgHTML(str_replace("\n", "<br />", $mail_body));
$testmail->AddAddress($test_addr);
$testmail->Send();
} catch(phpmailerException $e) {
} catch(\PHPMailer\PHPMailer\Exception $e) {
$mailerr_msg = $e->errorMessage();
$_mailerror = true;
} catch (Exception $e) {

View File

@@ -41,7 +41,8 @@
"ext-curl" : "*",
"ext-json" : "*",
"ext-openssl": "*",
"mso/idna-convert" : "1.*"
"mso/idna-convert" : "1.*",
"phpmailer/phpmailer": "~6.0"
},
"require-dev" : {
"phpunit/phpunit" : "6.5.13",

View File

@@ -50,7 +50,7 @@ abstract class ApiCommand extends ApiParameter
/**
* mail interface
*
* @var \PHPMailer
* @var \PHPMailer\PHPMailer\PHPMailer
*/
private $mail = null;
@@ -183,14 +183,14 @@ abstract class ApiCommand extends ApiParameter
/**
* initialize mail interface so an API wide mail-object is available
*
* @throws \phpmailerException
* @throws \PHPMailer\PHPMailer\Exception
*/
private function initMail()
{
/**
* Initialize the mailingsystem
*/
$this->mail = new \PHPMailer(true);
$this->mail = new \PHPMailer\PHPMailer\PHPMailer(true);
$this->mail->CharSet = "UTF-8";
if (\Froxlor\Settings::Get('system.mail_use_smtp')) {
@@ -207,7 +207,7 @@ abstract class ApiCommand extends ApiParameter
$this->mail->Port = \Froxlor\Settings::Get('system.mail_smtp_port');
}
if (\PHPMailer::validateAddress(\Froxlor\Settings::Get('panel.adminmail')) !== false) {
if (\PHPMailer\PHPMailer\PHPMailer::validateAddress(\Froxlor\Settings::Get('panel.adminmail')) !== false) {
// set return-to address and custom sender-name, see #76
$this->mail->setFrom(\Froxlor\Settings::Get('panel.adminmail'), \Froxlor\Settings::Get('panel.adminmail_defname'));
if (\Froxlor\Settings::Get('panel.adminmail_return') != '') {
@@ -279,7 +279,7 @@ abstract class ApiCommand extends ApiParameter
/**
* return mailer instance
*
* @return \PHPMailer
* @return \PHPMailer\PHPMailer\PHPMailer
*/
protected function mailer()
{

View File

@@ -1,49 +0,0 @@
<?php
/**
* PHPMailer SPL autoloader.
* PHP Version 5
* @package PHPMailer
* @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
* @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2014 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
* @note This program is distributed in the hope that it will be useful - WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* PHPMailer SPL autoloader.
* @param string $classname The name of the class to load
*/
function PHPMailerAutoload($classname)
{
//Can't use __DIR__ as it's only in PHP 5.3+
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
if (is_readable($filename)) {
require $filename;
}
}
if (version_compare(PHP_VERSION, '5.1.2', '>=')) {
//SPL autoloading was introduced in PHP 5.1.2
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
spl_autoload_register('PHPMailerAutoload', true, true);
} else {
spl_autoload_register('PHPMailerAutoload');
}
} else {
/**
* Fall back to traditional autoload for old PHP versions
* @param string $classname The name of the class to load
*/
function __autoload($classname)
{
PHPMailerAutoload($classname);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
PHPMailerAutoload.php

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,9 @@
*
*/
use \Froxlor\Database;
use \Froxlor\Settings;
header("Content-Type: text/html; charset=UTF-8");
// prevent Froxlor pages from being cached
@@ -120,7 +123,7 @@ require FROXLOR_INSTALL_DIR.'/lib/tables.inc.php';
/**
* Create a new idna converter
*/
$idna_convert = new idna_convert_wrapper();
$idna_convert = new \Froxlor\Idna\IdnaWrapper();
/**
* If Froxlor was called via HTTPS -> enforce it for the next time by settings HSTS header according to settings
@@ -523,7 +526,7 @@ if ($page == '') {
/**
* Initialize the mailingsystem
*/
$mail = new PHPMailer(true);
$mail = new \PHPMailer\PHPMailer\PHPMailer(true);
$mail->CharSet = "UTF-8";
if (Settings::Get('system.mail_use_smtp')) {
@@ -540,7 +543,7 @@ if (Settings::Get('system.mail_use_smtp')) {
$mail->Port = Settings::Get('system.mail_smtp_port');
}
if (PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
if (\PHPMailer\PHPMailer\PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
// set return-to address and custom sender-name, see #76
$mail->SetFrom(Settings::Get('panel.adminmail'), Settings::Get('panel.adminmail_defname'));
if (Settings::Get('panel.adminmail_return') != '') {

View File

@@ -17,13 +17,16 @@
*
*/
use \Froxlor\Database;
use \Froxlor\Settings;
$cronlog->logAction(CRON_ACTION, LOG_INFO, 'Web- and Traffic-usage reporting started...');
$yesterday = time() - (60 * 60 * 24);
/**
* Initialize the mailingsystem
*/
$mail = new PHPMailer(true);
$mail = new \PHPMailer\PHPMailer\PHPMailer(true);
$mail->CharSet = "UTF-8";
if (Settings::Get('system.mail_use_smtp')) {
@@ -40,7 +43,7 @@ if (Settings::Get('system.mail_use_smtp')) {
$mail->Port = Settings::Get('system.mail_smtp_port');
}
if (PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
if (\PHPMailer\PHPMailer\PHPMailer::ValidateAddress(Settings::Get('panel.adminmail')) !== false) {
// set return-to address and custom sender-name, see #76
$mail->SetFrom(Settings::Get('panel.adminmail'), Settings::Get('panel.adminmail_defname'));
if (Settings::Get('panel.adminmail_return') != '') {
@@ -136,7 +139,7 @@ if ((int)Settings::Get('system.report_trafficmax') > 0)
$mail->MsgHTML(nl2br($mail_body));
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
$mail->Send();
} catch(phpmailerException $e) {
} catch(\PHPMailer\PHPMailer\Exception $e) {
$mailerr_msg = $e->errorMessage();
$_mailerror = true;
} catch (Exception $e) {
@@ -234,7 +237,7 @@ if ((int)Settings::Get('system.report_trafficmax') > 0)
$mail->MsgHTML(nl2br($mail_body));
$mail->AddAddress($row['email'], $row['name']);
$mail->Send();
} catch(phpmailerException $e) {
} catch(\PHPMailer\PHPMailer\Exception $e) {
$mailerr_msg = $e->errorMessage();
$_mailerror = true;
} catch (Exception $e) {
@@ -316,7 +319,7 @@ if ((int)Settings::Get('system.report_trafficmax') > 0)
$mail->Body = $mail_body;
$mail->AddAddress($row['email'], $row['name']);
$mail->Send();
} catch(phpmailerException $e) {
} catch(\PHPMailer\PHPMailer\Exception $e) {
$mailerr_msg = $e->errorMessage();
$_mailerror = true;
} catch (Exception $e) {