diff --git a/extensions/debug/LogTarget.php b/extensions/debug/LogTarget.php
index ee1f6eb..b8a8354 100644
--- a/extensions/debug/LogTarget.php
+++ b/extensions/debug/LogTarget.php
@@ -47,19 +47,7 @@ class LogTarget extends Target
 			mkdir($path);
 		}
 
-		$request = Yii::$app->getRequest();
-		$response = Yii::$app->getResponse();
-		$summary = [
-			'tag' => $this->tag,
-			'url' => $request->getAbsoluteUrl(),
-			'ajax' => $request->getIsAjax(),
-			'method' => $request->getMethod(),
-			'ip' => $request->getUserIP(),
-			'time' => time(),
-			'statusCode' => $response->statusCode,
-			'sqlCount' => $this->getSqlTotalCount(),
-		];
-
+		$summary = $this->collectSummary();
 		$dataFile = "$path/{$this->tag}.data";
 		$data = [];
 		foreach ($this->module->panels as $id => $panel) {
@@ -140,6 +128,32 @@ class LogTarget extends Target
 	}
 
 	/**
+	 * Collects summary data of current request.
+	 * @return array
+	 */
+	protected function collectSummary()
+	{
+		$request = Yii::$app->getRequest();
+		$response = Yii::$app->getResponse();
+		$summary = [
+			'tag' => $this->tag,
+			'url' => $request->getAbsoluteUrl(),
+			'ajax' => $request->getIsAjax(),
+			'method' => $request->getMethod(),
+			'ip' => $request->getUserIP(),
+			'time' => time(),
+			'statusCode' => $response->statusCode,
+			'sqlCount' => $this->getSqlTotalCount(),
+		];
+
+		if (isset($this->module->panels['mail'])) {
+			$summary['mailCount'] = count($this->module->panels['mail']->getMessages());
+		}
+
+		return $summary;
+	}
+
+	/**
 	 * Returns total sql count executed in current request. If database panel is not configured
 	 * returns 0.
 	 * @return integer
@@ -149,9 +163,10 @@ class LogTarget extends Target
 		if (!isset($this->module->panels['db'])) {
 			return 0;
 		}
-		$profileLogs = $this->module->panels['db']->save();
+		$profileLogs = $this->module->panels['db']->getProfileLogs();
 		
 		# / 2 because messages are in couple (begin/end)
-		return count($profileLogs['messages']) / 2;
+		return count($profileLogs) / 2;
 	}
+
 }
diff --git a/extensions/debug/models/search/Debug.php b/extensions/debug/models/search/Debug.php
index 4752752..b3b5117 100644
--- a/extensions/debug/models/search/Debug.php
+++ b/extensions/debug/models/search/Debug.php
@@ -50,12 +50,16 @@ class Debug extends Base
 	public $statusCode;
 
 	/**
-	 *
 	 * @var integer sql count attribute input search value
 	 */
 	public $sqlCount;
 
 	/**
+	 * @var integer total mail count attribute input search value
+	 */
+	public $mailCount;
+
+	/**
 	 * @var array critical codes, used to determine grid row options.
 	 */
 	public $criticalCodes = [400, 404, 500];
@@ -66,7 +70,7 @@ class Debug extends Base
 	public function rules()
 	{
 		return [
-			[['tag', 'ip', 'method', 'ajax', 'url', 'statusCode', 'sqlCount'], 'safe'],
+			[['tag', 'ip', 'method', 'ajax', 'url', 'statusCode', 'sqlCount', 'mailCount'], 'safe'],
 		];
 	}
 
@@ -83,6 +87,7 @@ class Debug extends Base
 			'url' => 'url',
 			'statusCode' => 'Status code',
 			'sqlCount' => 'Total queries',
+			'mailCount' => 'Total mails',
 		];
 	}
 
@@ -97,7 +102,7 @@ class Debug extends Base
 		$dataProvider = new ArrayDataProvider([
 			'allModels' => $models,
 			'sort' => [
-				'attributes' => ['method', 'ip', 'tag', 'time', 'statusCode', 'sqlCount'],
+				'attributes' => ['method', 'ip', 'tag', 'time', 'statusCode', 'sqlCount', 'mailCount'],
 			],
 			'pagination' => [
 				'pageSize' => 50,
@@ -116,6 +121,7 @@ class Debug extends Base
 		$this->addCondition($filter, 'url', true);
 		$this->addCondition($filter, 'statusCode');
 		$this->addCondition($filter, 'sqlCount');
+		$this->addCondition($filter, 'mailCount');
 		$dataProvider->allModels = $filter->filter($models);
 
 		return $dataProvider;
diff --git a/extensions/debug/panels/DbPanel.php b/extensions/debug/panels/DbPanel.php
index 196e767..95de124 100644
--- a/extensions/debug/panels/DbPanel.php
+++ b/extensions/debug/panels/DbPanel.php
@@ -94,9 +94,18 @@ class DbPanel extends Panel
 	 */
 	public function save()
 	{
+		return ['messages' => $this->getProfileLogs()];
+	}
+
+	/**
+	 * Returns all profile logs of the current request for this panel. It includes categories such as:
+	 * 'yii\db\Command::query', 'yii\db\Command::execute'.
+	 * @return array
+	 */
+	public function getProfileLogs()
+	{
 		$target = $this->module->logTarget;
-		$messages = $target->filterMessages($target->messages, Logger::LEVEL_PROFILE, ['yii\db\Command::query', 'yii\db\Command::execute']);
-		return ['messages' => $messages];
+		return $target->filterMessages($target->messages, Logger::LEVEL_PROFILE, ['yii\db\Command::query', 'yii\db\Command::execute']);
 	}
 
 	/**
@@ -164,4 +173,5 @@ class DbPanel extends Panel
 	{
 		return (($this->criticalQueryThreshold !== null) && ($count > $this->criticalQueryThreshold));
 	}
+
 }
diff --git a/extensions/debug/panels/MailPanel.php b/extensions/debug/panels/MailPanel.php
index e3d5c09..55bb3f3 100644
--- a/extensions/debug/panels/MailPanel.php
+++ b/extensions/debug/panels/MailPanel.php
@@ -77,6 +77,16 @@ class MailPanel extends Panel
 
 	public function save()
 	{
+		return $this->getMessages();
+	}
+
+	/**
+	 * Returns info about messages of current request. Each element is array holding
+	 * message info, such as: time, reply, bc, cc, from, to and other.
+	 * @return array messages
+	 */
+	public function getMessages()
+	{
 		return $this->_messages;
 	}
 
diff --git a/extensions/debug/views/default/index.php b/extensions/debug/views/default/index.php
index acd8aaf..4a8d6b3 100644
--- a/extensions/debug/views/default/index.php
+++ b/extensions/debug/views/default/index.php
@@ -86,6 +86,10 @@ if (isset($this->context->module->panels['db']) && isset($this->context->module-
 				'format' => 'html',
 			],
 			[
+				'attribute' => 'mailCount',
+				'visible' => isset($this->context->module->panels['mail']),
+			],
+			[
 				'attribute' => 'method',
 				'filter' => ['get' => 'GET', 'post' => 'POST', 'delete' => 'DELETE', 'put' => 'PUT', 'head' => 'HEAD']
 			],