From 2110eb584f931d41ea1265240ab0cd320c4facff Mon Sep 17 00:00:00 2001
From: Dirk Dankhoff <dd+ispconfig@robhost.de>
Date: Fri, 18 Sep 2015 14:32:51 +0200
Subject: [PATCH] Fix notification mail template header-body splitting

Since file() doesn't remove "\n" from the lines read the condition
`$lines[$l] == ''` never evaluated to true.
So $mailHeaders would always contain every line from the template while
$mailBody contained none of them.

Together with the bugfix of PHP#68776 [1] disallowing multiple "\n"'s &
preceding "\n" in mail()'s $additionalHeaders arg this caused mails not
being sent because $mailHeaders would include at least one "\n\n" which
was meant to separate the mail headers from the body.

[1] https://bugs.php.net/bug.php?id=68776
---
 server/cron_daily.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/cron_daily.php b/server/cron_daily.php
index 10f168812c..326973616d 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -670,7 +670,7 @@ function send_notification_email($template, $placeholders, $recipients) {
 	$mailSubject = '';
 	$inHeader = true;
 	for($l = 0; $l < count($lines); $l++) {
-		if($lines[$l] == '') {
+		if(trim($lines[$l]) == '') {
 			$inHeader = false;
 			continue;
 		}
-- 
GitLab