Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 30-01-2016, 20:38
SamTh94
 Registrierter Benutzer
Links : Onlinestatus : SamTh94 ist offline
Registriert seit: Nov 2015
Beiträge: 18
SamTh94 befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für diese ausführliche Antwort.
Ich habe mich für Methode 2 entschieden, nur leider funktioniert es nicht. Ich erhalte beim Absenden der Nachricht die Fehlermeldung, dass der Message Body leer sei. Hast du eine Idee warum dies der Fall sein könnte?

PHP Code unterhalb des Formulars:
PHP-Code:
if($_GET["sent"] == "true") {

    require(
'phpmailer/class.phpmailer.php');

    
$values = array(
    
'site_name'        =>    bloginfo'name' ),
    
'site_description'    =>    bloginfo'description' ),
    
'first_name'         =>    $_POST['first_name'],
    
'last_name'        =>    $_POST['last_name'],
    
'subject'             =>    $_POST['subject'],
    
'text'                =>    $_POST['text'],
    
'year'            =>    date("Y")
    );

    
$replace = array();
        foreach (
$values as $key => $value) {
            
$replace['{' $key '}'] = htmlspecialchars($valueENT_COMPAT'UTF-8');
        }

    
$mailTemplate file_get_contents('/mail-user.html');
    
$mailContent strtr($mailTemplate$replace); 
    
$mailContent $dom->saveHTML(); 

//Instanz von PHPMailer bilden
$mail = new PHPMailer();

//Charset definieren
$mail->CharSet 'UTF-8';
     
//Absenderadresse der Email setzen
$mail->From "***";
      
//Name des Abenders setzen
$mail->FromName "***";
      
//Empfängeradresse setzen
$mail->AddAddress('***''***');

//HTML aktivieren
$mail->IsHTML(true);

//Betreff der Email setzen
$mail->Subject "Neue Nachricht vom Kontaktformular: ".$_POST['subject'];
     
//Text der EMail setzen
$mail->Body $mailContent;
      
//EMail senden und überprüfen ob sie versandt wurde
if(!$mail->Send())
{
//$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
    
echo "<div class=\"alert alert-danger\" role=\"alert\"><strong>Fehler...</strong></div> Die Email konnte nicht gesendet werden.";
    echo 
"Fehlermeldung: " $mail->ErrorInfo;

HTML Code der E-Mail:
HTML-Code:
<html>
<meta charset="utf-8"/>
<style>***</style>

<body class="body">

<header class="header">
  <h1 class="title">{site_name}</h1>
  <h4 class="description">{site_description}</h4>
</header>

<div class="content">
  <h3>Vielen Dank für deine Nachricht</h3>
  <p>Hallo <b>{first_name} {last_name}</b>, deine Nachricht hat uns erreicht. Wir werden dir schnellstmöglich eine Antwort zukommen lassen.<br /><br />
	Hier sind deine übermittelten Daten:<br />
	<b>Bereff:</b><br /></p>
	<p class="indent">{subject}</p>
	<p><b>Nachricht:</b><br /></p>
	<p class="indent">{text}</p><br />
	<p>Mit freundlichen Grüßen,<br />
        {site_name}</p>
</div>

<footer class="footer">
  <table class="fo_table">
    <tr class="fo_tr">
      <td class="fo_td_left">Designed by <strong>***</strong></td>
      <td class="fo_td_right">© {year} bei <strong>{site_name}</strong> - Alle Rechte vorbehalten.</td>
    </tr>
    </table>
</footer>

</html>
Mit Zitat antworten