Hallo,
ich baue mir eine Funktion mit der ich einen Fehler als Mail verschicke.
Mein Problem ist, dass file_get_contents() mit der mail() Funktion nicht gut zusammen arbeitet.
Also folgendes, ich baue die E-Mail (HTML Format) aus drei Teilen zusammen.
Zum einen der HTML-Header (mail.header.html), der Message (z.B. mail.mysql_error.html) und dem Footer (mail.footer.html). Gebe ich den String mit echo aus, gibt es keine Probleme. Verschicke ich dies mit mail(), wird vor jeder Rückgabe von file_get_contents() noch "" angezeigt.
Das sieht dann so aus:
Quelltext der Mail:
Hat jemand eine Idee woran das liegen könnte?
Wie gesagt, lasse ich das mit "echo" ausgaben, ist alles normal.
VG MsWord
ich baue mir eine Funktion mit der ich einen Fehler als Mail verschicke.
Mein Problem ist, dass file_get_contents() mit der mail() Funktion nicht gut zusammen arbeitet.
Also folgendes, ich baue die E-Mail (HTML Format) aus drei Teilen zusammen.
Zum einen der HTML-Header (mail.header.html), der Message (z.B. mail.mysql_error.html) und dem Footer (mail.footer.html). Gebe ich den String mit echo aus, gibt es keine Probleme. Verschicke ich dies mit mail(), wird vor jeder Rückgabe von file_get_contents() noch "" angezeigt.
PHP:
<?php
// [...]
$tmp_header = file_get_contents($tmp_folder.$mail_header);
$footer = file_get_contents($tmp_folder.$main_data['system_lang']."/".$mail_footer);
$template = file_get_contents($tmp_folder.$main_data['system_lang']."/".$tmp_file);
/* Replace Variables */
$template = $tmp_header.$template;
$template = str_replace('{ERROR_MESSAGE}', $error_msg, $template);
$template = str_replace('{ERROR_NUM}', $error_num, $template);
$template = str_replace('{CSS_INCLUDE}', $css_tmp, $template);
$template = str_replace('{SUBJECT}', $subject, $template);
$template = $template.$footer;
#echo $template;
/* Send the mail */
mail($main_data['admin_mail'], $subject, $template, $header);
//[...]
Das sieht dann so aus:
 
Hallo,
auf Ihrer Seite ist ein MySQL-Fehler aufgetreten.
Fehlermeldung: Es konnte keine Verbindung zur Datenbank hergestellt werden:
Access denied for user ******* (using password: YES)(1045)
Fehlercode: 001
Mit freundlichen Grüßen
Ihr System
 Dies ist eine Automatisch generierte E-Mail, bitte nicht antworten!
Hallo,
auf Ihrer Seite ist ein MySQL-Fehler aufgetreten.
Fehlermeldung: Es konnte keine Verbindung zur Datenbank hergestellt werden:
Access denied for user ******* (using password: YES)(1045)
Fehlercode: 001
Mit freundlichen Grüßen
Ihr System
 Dies ist eine Automatisch generierte E-Mail, bitte nicht antworten!
Quelltext der Mail:
Return-path: <*************************>
Envelope-to: **************************
Delivery-date: Wed, 08 Apr 2015 18:23:53 +0200
Received: from localhost ([127.0.0.1] helo=******************)
by *********************** with esmtps (TLSv1.2
HE-RSA-AES256-GCM-SHA384:256)
(Exim 4.80.1)
(envelope-from <****************************>)
id 1Yfsld-00019B-QS
for **********************; Wed, 08 Apr 2015 18:23:53 +0200
Received: from ************************** with local (Exim 4.80.1)
(envelope-from <******************>)
id 1Yfsld-000194-O5
for ***********; Wed, 08 Apr 2015 18:23:53 +0200
To: **************
Subject: Es ist ein MySQL Fehler aufgetreten
From: *****************
Mime-Version: 1.0
Content-type: text/html; charset=iso-8859-1
X-Mailer: PHP v5.5.23
Message-Id: <E1Yfsld-000194-O5@*************>
Date: Wed, 08 Apr 2015 18:23:53 +0200
Delivered-To: ******************
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Es ist ein MySQL Fehler aufgetreten</title>
<style>
html,body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-size: 14px;
color: #000;
}
.automatic-mail{
font-size: 12px;
}
</style>
</head>
<body> <p>
Hallo,<br/>
<br/>
auf Ihrer Seite ist ein MySQL-Fehler aufgetreten.<br/>
Fehlermeldung: Es konnte keine Verbindung zur Datenbank hergestellt werden:<br>Access denied for user '******'@'********' (using password: YES)(1045)<br/>
Fehlercode: 001<br/>
<br/>
Mit freundlichen Grüßen<br/>
Ihr System<br/>
</p> <span class="automatic-mail">Dies ist eine Automatisch generierte E-Mail, bitte nicht antworten!</span>
</body>
</html>
Envelope-to: **************************
Delivery-date: Wed, 08 Apr 2015 18:23:53 +0200
Received: from localhost ([127.0.0.1] helo=******************)
by *********************** with esmtps (TLSv1.2

(Exim 4.80.1)
(envelope-from <****************************>)
id 1Yfsld-00019B-QS
for **********************; Wed, 08 Apr 2015 18:23:53 +0200
Received: from ************************** with local (Exim 4.80.1)
(envelope-from <******************>)
id 1Yfsld-000194-O5
for ***********; Wed, 08 Apr 2015 18:23:53 +0200
To: **************
Subject: Es ist ein MySQL Fehler aufgetreten
From: *****************
Mime-Version: 1.0
Content-type: text/html; charset=iso-8859-1
X-Mailer: PHP v5.5.23
Message-Id: <E1Yfsld-000194-O5@*************>
Date: Wed, 08 Apr 2015 18:23:53 +0200
Delivered-To: ******************
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Es ist ein MySQL Fehler aufgetreten</title>
<style>
html,body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-size: 14px;
color: #000;
}
.automatic-mail{
font-size: 12px;
}
</style>
</head>
<body> <p>
Hallo,<br/>
<br/>
auf Ihrer Seite ist ein MySQL-Fehler aufgetreten.<br/>
Fehlermeldung: Es konnte keine Verbindung zur Datenbank hergestellt werden:<br>Access denied for user '******'@'********' (using password: YES)(1045)<br/>
Fehlercode: 001<br/>
<br/>
Mit freundlichen Grüßen<br/>
Ihr System<br/>
</p> <span class="automatic-mail">Dies ist eine Automatisch generierte E-Mail, bitte nicht antworten!</span>
</body>
</html>
Hat jemand eine Idee woran das liegen könnte?
Wie gesagt, lasse ich das mit "echo" ausgaben, ist alles normal.
VG MsWord
Zuletzt bearbeitet: