|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Mageplaza / Smtp / Controller / Adminhtml / Smtp / |
Filename | /home/dev2.destoffenstraat.com/app/code/Mageplaza/Smtp/Controller/Adminhtml/Smtp/Test.php |
Size | 4.74 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 02-Nov-2021 12:45 |
Last accessed | 22-Aug-2025 21:50 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Mageplaza
*
* NOTICE OF LICENSE
*
* This source file is subject to the Mageplaza.com license that is
* available through the world-wide-web at this URL:
* https://www.mageplaza.com/LICENSE.txt
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this extension to newer
* version in the future.
*
* @category Mageplaza
* @package Mageplaza_Smtp
* @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/)
* @license https://www.mageplaza.com/LICENSE.txt
*/
namespace Mageplaza\Smtp\Controller\Adminhtml\Smtp;
use Exception;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Email\Model\Template\SenderResolver;
use Magento\Framework\App\Area;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Store\Model\Store;
use Mageplaza\Smtp\Helper\Data as SmtpData;
use Mageplaza\Smtp\Mail\Rse\Mail;
use Psr\Log\LoggerInterface;
/**
* Class Test
* @package Mageplaza\Smtp\Controller\Adminhtml\Smtp
*/
class Test extends Action
{
/**
* Authorization level of a basic admin session
*
* @see _isAllowed()
*/
const ADMIN_RESOURCE = 'Mageplaza_Smtp::smtp';
/**
* @var LoggerInterface
*/
protected $logger;
/**
* @var SmtpData
*/
protected $smtpDataHelper;
/**
* @var Mail
*/
protected $mailResource;
/**
* @var TransportBuilder
*/
protected $_transportBuilder;
/**
* @var SenderResolver
*/
protected $senderResolver;
/**
* Test constructor.
*
* @param Context $context
* @param LoggerInterface $logger
* @param SmtpData $smtpDataHelper
* @param Mail $mailResource
* @param TransportBuilder $transportBuilder
* @param SenderResolver $senderResolver
*/
public function __construct(
Context $context,
LoggerInterface $logger,
SmtpData $smtpDataHelper,
Mail $mailResource,
TransportBuilder $transportBuilder,
SenderResolver $senderResolver
) {
$this->logger = $logger;
$this->smtpDataHelper = $smtpDataHelper;
$this->mailResource = $mailResource;
$this->_transportBuilder = $transportBuilder;
$this->senderResolver = $senderResolver;
parent::__construct($context);
}
/**
* @return ResponseInterface|ResultInterface
* @throws LocalizedException
*/
public function execute()
{
$result = ['status' => false];
$params = $this->getRequest()->getParams();
if ($params && $params['to']) {
$config = [
'type' => 'smtp',
'host' => $params['host'],
'auth' => $params['authentication'],
'username' => $params['username'],
'ignore_log' => true,
'force_sent' => true
];
if ($params['protocol']) {
$config['ssl'] = $params['protocol'];
}
if ($params['port']) {
$config['port'] = $params['port'];
}
if ($params['password'] === '******') {
$config['password'] = $this->smtpDataHelper->getPassword();
} else {
$config['password'] = $params['password'];
}
if ($params['returnpath']) {
$config['return_path'] = $params['returnpath'];
}
$this->mailResource->setSmtpOptions(Store::DEFAULT_STORE_ID, $config);
$from = $this->senderResolver->resolve(
isset($params['from']) ? $params['from'] : $config['username'],
$this->smtpDataHelper->getScopeId()
);
$this->_transportBuilder
->setTemplateIdentifier('mpsmtp_test_email_template')
->setTemplateOptions(['area' => Area::AREA_FRONTEND, 'store' => Store::DEFAULT_STORE_ID])
->setTemplateVars([])
->setFrom($from)
->addTo($params['to']);
try {
$this->_transportBuilder->getTransport()->sendMessage();
$result = [
'status' => true,
'content' => __('Sent successfully! Please check your email box.')
];
} catch (Exception $e) {
$result['content'] = $e->getMessage();
$this->logger->critical($e);
}
} else {
$result['content'] = __('Test Error');
}
return $this->getResponse()->representJson(SmtpData::jsonEncode($result));
}
}
/**
* Mageplaza
*
* NOTICE OF LICENSE
*
* This source file is subject to the Mageplaza.com license that is
* available through the world-wide-web at this URL:
* https://www.mageplaza.com/LICENSE.txt
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this extension to newer
* version in the future.
*
* @category Mageplaza
* @package Mageplaza_Smtp
* @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/)
* @license https://www.mageplaza.com/LICENSE.txt
*/
namespace Mageplaza\Smtp\Controller\Adminhtml\Smtp;
use Exception;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Email\Model\Template\SenderResolver;
use Magento\Framework\App\Area;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Store\Model\Store;
use Mageplaza\Smtp\Helper\Data as SmtpData;
use Mageplaza\Smtp\Mail\Rse\Mail;
use Psr\Log\LoggerInterface;
/**
* Class Test
* @package Mageplaza\Smtp\Controller\Adminhtml\Smtp
*/
class Test extends Action
{
/**
* Authorization level of a basic admin session
*
* @see _isAllowed()
*/
const ADMIN_RESOURCE = 'Mageplaza_Smtp::smtp';
/**
* @var LoggerInterface
*/
protected $logger;
/**
* @var SmtpData
*/
protected $smtpDataHelper;
/**
* @var Mail
*/
protected $mailResource;
/**
* @var TransportBuilder
*/
protected $_transportBuilder;
/**
* @var SenderResolver
*/
protected $senderResolver;
/**
* Test constructor.
*
* @param Context $context
* @param LoggerInterface $logger
* @param SmtpData $smtpDataHelper
* @param Mail $mailResource
* @param TransportBuilder $transportBuilder
* @param SenderResolver $senderResolver
*/
public function __construct(
Context $context,
LoggerInterface $logger,
SmtpData $smtpDataHelper,
Mail $mailResource,
TransportBuilder $transportBuilder,
SenderResolver $senderResolver
) {
$this->logger = $logger;
$this->smtpDataHelper = $smtpDataHelper;
$this->mailResource = $mailResource;
$this->_transportBuilder = $transportBuilder;
$this->senderResolver = $senderResolver;
parent::__construct($context);
}
/**
* @return ResponseInterface|ResultInterface
* @throws LocalizedException
*/
public function execute()
{
$result = ['status' => false];
$params = $this->getRequest()->getParams();
if ($params && $params['to']) {
$config = [
'type' => 'smtp',
'host' => $params['host'],
'auth' => $params['authentication'],
'username' => $params['username'],
'ignore_log' => true,
'force_sent' => true
];
if ($params['protocol']) {
$config['ssl'] = $params['protocol'];
}
if ($params['port']) {
$config['port'] = $params['port'];
}
if ($params['password'] === '******') {
$config['password'] = $this->smtpDataHelper->getPassword();
} else {
$config['password'] = $params['password'];
}
if ($params['returnpath']) {
$config['return_path'] = $params['returnpath'];
}
$this->mailResource->setSmtpOptions(Store::DEFAULT_STORE_ID, $config);
$from = $this->senderResolver->resolve(
isset($params['from']) ? $params['from'] : $config['username'],
$this->smtpDataHelper->getScopeId()
);
$this->_transportBuilder
->setTemplateIdentifier('mpsmtp_test_email_template')
->setTemplateOptions(['area' => Area::AREA_FRONTEND, 'store' => Store::DEFAULT_STORE_ID])
->setTemplateVars([])
->setFrom($from)
->addTo($params['to']);
try {
$this->_transportBuilder->getTransport()->sendMessage();
$result = [
'status' => true,
'content' => __('Sent successfully! Please check your email box.')
];
} catch (Exception $e) {
$result['content'] = $e->getMessage();
$this->logger->critical($e);
}
} else {
$result['content'] = __('Test Error');
}
return $this->getResponse()->representJson(SmtpData::jsonEncode($result));
}
}