diff --git a/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php b/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php
index 189ed1cb7081e4d64b5e1dc01afb6bbacd2573fb..5daffacf1cd631ddc943fd4351b3a32986828017 100644
--- a/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php
+++ b/typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php
@@ -37,11 +37,11 @@ class LinkAnalyzer
     protected $searchFields = [];
 
     /**
-     * List of comma separated page uids (rootline downwards)
+     * List of page uids (rootline downwards)
      *
-     * @var string
+     * @var array
      */
-    protected $pidList = '';
+    protected $pids = [];
 
     /**
      * Array of tables and the number of external links they contain
@@ -116,14 +116,14 @@ class LinkAnalyzer
     /**
      * Store all the needed configuration values in class variables
      *
-     * @param array $searchField List of fields in which to search for links
-     * @param string $pid List of comma separated page uids in which to search for links
-     * @param array $tsConfig The currently active TSConfig.
+     * @param array  $searchField List of fields in which to search for links
+     * @param string $pidList     List of comma separated page uids in which to search for links
+     * @param array  $tsConfig    The currently active TSConfig.
      */
-    public function init(array $searchField, $pid, $tsConfig)
+    public function init(array $searchField, $pidList, $tsConfig)
     {
         $this->searchFields = $searchField;
-        $this->pidList = $pid;
+        $this->pids = GeneralUtility::intExplode(',', $pidList, true);
         $this->tsConfig = $tsConfig;
     }
 
@@ -136,8 +136,7 @@ class LinkAnalyzer
     public function getLinkStatistics($checkOptions = [], $considerHidden = false)
     {
         $results = [];
-        $pidList = GeneralUtility::intExplode(',', $this->pidList, true);
-        if (!empty($checkOptions) && !empty($pidList)) {
+        if (!empty($checkOptions) && !empty($this->pids)) {
             $checkKeys = array_keys($checkOptions);
 
             $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
@@ -148,12 +147,12 @@ class LinkAnalyzer
                     $queryBuilder->expr()->orX(
                         $queryBuilder->expr()->in(
                             'record_pid',
-                            $queryBuilder->createNamedParameter($pidList, Connection::PARAM_INT_ARRAY)
+                            $queryBuilder->createNamedParameter($this->pids, Connection::PARAM_INT_ARRAY)
                         ),
                         $queryBuilder->expr()->andX(
                             $queryBuilder->expr()->in(
                                 'record_uid',
-                                $queryBuilder->createNamedParameter($pidList, Connection::PARAM_INT_ARRAY)
+                                $queryBuilder->createNamedParameter($this->pids, Connection::PARAM_INT_ARRAY)
                             ),
                             $queryBuilder->expr()->eq(
                                 'table_name',
@@ -192,7 +191,7 @@ class LinkAnalyzer
                     ->where(
                         $queryBuilder->expr()->in(
                             ($table === 'pages' ? 'uid' : 'pid'),
-                            $queryBuilder->createNamedParameter($pidList, Connection::PARAM_INT_ARRAY)
+                            $queryBuilder->createNamedParameter($this->pids, Connection::PARAM_INT_ARRAY)
                         )
                     )
                     ->execute();
@@ -420,7 +419,6 @@ class LinkAnalyzer
     public function getLinkCounts($curPage)
     {
         $markerArray = [];
-        $this->pidList = GeneralUtility::intExplode(',', ($this->pidList ?: $curPage), true);
 
         $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
             ->getQueryBuilderForTable('tx_linkvalidator_link');
@@ -432,7 +430,7 @@ class LinkAnalyzer
             ->where(
                 $queryBuilder->expr()->in(
                     'record_pid',
-                    $queryBuilder->createNamedParameter($this->pidList, Connection::PARAM_INT_ARRAY)
+                    $queryBuilder->createNamedParameter($this->pids, Connection::PARAM_INT_ARRAY)
                 )
             )
             ->groupBy('link_type')
diff --git a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php
index 9ec80effe22f9dfb0fdbb33c275c74677e7184ba..0573cede553fc49792e6957e2223c09017ab3d23 100644
--- a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php
+++ b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php
@@ -281,6 +281,9 @@ class ValidatorTask extends AbstractTask
         $pageList = GeneralUtility::trimExplode(',', $this->page, true);
         $modTs = $this->loadModTsConfig($this->page);
         if (is_array($pageList)) {
+            // reset broken link counts as they were stored in the serialized object
+            $this->oldTotalBrokenLink = 0;
+            $this->totalBrokenLink = 0;
             foreach ($pageList as $page) {
                 $pageSections .= $this->checkPageLinks($page);
             }
diff --git a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTaskAdditionalFieldProvider.php b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTaskAdditionalFieldProvider.php
index d885fc0dba623744dd00fef7fe6288cb8e94f85c..18f3ff1f34d23534c92ea90810f607f892abb525 100644
--- a/typo3/sysext/linkvalidator/Classes/Task/ValidatorTaskAdditionalFieldProvider.php
+++ b/typo3/sysext/linkvalidator/Classes/Task/ValidatorTaskAdditionalFieldProvider.php
@@ -225,7 +225,11 @@ class ValidatorTaskAdditionalFieldProvider implements AdditionalFieldProviderInt
         // @todo which is normally a comma separated string
         $lang = $this->getLanguageService();
         if (!empty($submittedData['linkvalidator']['email'])) {
-            $emailList = GeneralUtility::trimExplode(',', $submittedData['linkvalidator']['email']);
+            if (strpos($submittedData['linkvalidator']['email'], ',') !== false) {
+                $emailList = GeneralUtility::trimExplode(',', $submittedData['linkvalidator']['email']);
+            } else {
+                $emailList = GeneralUtility::trimExplode(LF, $submittedData['linkvalidator']['email']);
+            }
             foreach ($emailList as $emailAdd) {
                 if (!GeneralUtility::validEmail($emailAdd)) {
                     $isValid = false;
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html b/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html
index 8758d715729a8caa4172e7eab05aa23bf05c8c31..da3e7a9a30b2c7283a20c84a438ff7210013c4e0 100644
--- a/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html
+++ b/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html
@@ -11,8 +11,9 @@ Total broken links: ###TOTALBROKENLINK### (last report: ###TOTALBROKENLINK_OLD##
  <!-- ###PAGE_SECTION### -->
  	Page: ###TITLE###<br />
  	All links types: ###BROKENLINKCOUNT###  (last report: ###BROKENLINKCOUNT_OLD###)<br />
- 	Internal link: ###DB### (last report: ###DB_OLD###)<br />
- 	External link: ###EXTERNAL### (last report: ###EXTERNAL_OLD###)<br />
+ 	Internal links: ###DB### (last report: ###DB_OLD###)<br />
+ 	File links: ###FILE### (last report: ###FILE_OLD###)<br />
+ 	External links: ###EXTERNAL### (last report: ###EXTERNAL_OLD###)<br />
 
  <!-- ###PAGE_SECTION### -->