Problem mit Anzeigen von E-Mail unter t-online aus PHP Formmailer

holger_buns

Mitglied
Hallo,
ich habe eine Seite erstellt mit einem PHP Formmailer aus einem Kontaktformular. Beim Versand vom Kontaktformular wird eine Mail verschickt. Mein Kunde hat ein t-online Konto und ruft auch damit die Mails über den Client ab. Er sagt, dass die Mails nicht geöffnet werden können. Wenn ich die Mails generiere und lasse Sie an meine Adresse schicken, kann ich diese ohne Probleme öffnen. Ich habs schom mit Outlook einem Googlemail Konto und web.de versucht. Leider hab ich kein t-online Konto mit dem ich das testen könnte.
Vielleicht sieht einer auf den ersten Blick, wo das Problem liegt. Ansonsten aber auch gerne eine PN an mich mit t-online E-Mail Adresse dann lass ich die Mail an das Konto verschicken.

Hier die Seite:
http://www.plastisches.de/test/hc/kontakt.php

Gruss
Holli
 
Der Link zur Seite selber hilft nicht viel. Man müsste den Code sehen wie die Nachricht erstellt und verschickt wird.

Aber was bedeutet "er kann die Mails nicht öffnen" überhaupt.
Bekommt er die E-Mails und sie sind nicht lesbar, oder landen sie im Spam-Ordner oder kommen sie womöglich gar nicht an?

Gruß Thomas
 
Hallo,
er kann Sie nicht öffnen.

Hier der relevante Code aus der kontakt.php:

PHP:
<?
session_start();
// Konfiguration Mail
$authHosts	= "hotel-haus-christa.de|plastisches.de|plastisches.de/test/hc/";	// getrennt durch |
$Adress		= "assedo.burgard@googlemail.com";
$subject	= "Anfrage über Kontaktseite Hotel Haus Christa";

// Konfiguration Antwortseite
$antwort_start	= "<div>";
$antwort	= "Ihre Anfrage hat uns erreicht. Vielen Dank! Wir werden uns umgehend mit Ihnen in Verbindung setzen.";
$antwort2	= "<b>Hier noch einmal Ihre Angaben:</b>";
$antwort_end	= "</div>";
?>

Hier der aus der output.php:

PHP:
<?
if (eregi("output.php",$_SERVER['PHP_SELF']))
{  Header("Location: ../index.html");
   die();
}

$ip		= getenv("REMOTE_ADDR"); 
$host		= gethostbyaddr(getenv("REMOTE_ADDR"));

$Name		= $_POST['Name'];
$Email		= $_POST['Email'];
$Nachricht	= $_POST['Nachricht'];
$neuertext	= wordwrap($Nachricht, 40, "\n",true);
$iText		= nl2br($neuertext);
$iText		= stripslashes($iText);

$Date		= date("d.m.Y, H:i"); 
$mText		= wordwrap($Nachricht, 70,"\r\n",true);
$mText		= stripslashes($mText);
$antwortseite	= "$antwort_start"."\n";
$antwortseite  .= "<table border=\"0\" style=\"margin: 0px; padding: 0px\">"."\n";
$antwortseite  .= "<tr><td>$antwort</td></tr>"."\n";
$antwortseite  .= "<tr><td><br /><br />$antwort2</td></tr>"."\n";
$antwortseite  .= "</table>"."\n"."<br />"."\n";
$antwortseite  .= "<table border=\"0\" style=\"margin: 0px; padding: 0px\">"."\n";

$message  = "$subject"."\n";
$message .= "__________________________________________________\n";
$message .= "\n";

foreach($_POST as $Formularfeld => $Wert)
{
if(($Formularfeld != "Submit") && ($Formularfeld != "Nachricht") && ($Formularfeld != "site") && ($Formularfeld != "lang") && ($Formularfeld != "Code") && ($Formularfeld != "PHPSESSID"))
{
	if ($Wert)
	{
	$message	.= ereg_replace("_"," ",$Formularfeld).": ".htmlspecialchars($Wert)."\n";
	$antwortseite	.= "<tr><td>".ereg_replace("_"," ",$Formularfeld).":</td><td>&nbsp;&nbsp;&nbsp;</td><td>".htmlspecialchars($Wert)."</td></tr>\n";
	}
}
}
$message .= "\n";
if ($mText)
{
$message .= "Mitteilung:"."\n";
$message .= "------------------\n";
$message .= "$mText"."\n";
}
$message .= "\n\n";
$message .= "__________________________________________________\n";
$message .= "Abgesendet am $Date Uhr"."\n";
$message .= "Absender-IP: $ip"."\n";
$message .= "Absender-Host: $host"."\n";

if (!$Email) $Absenderemail = "Webmailer <$Adress>";
else $Absenderemail = "$Name <$Email>";

$headers  = "From: $Absenderemail\n";
$headers .= "Reply-To: $Absenderemail\n";
$headers .= "Bounce-To: $Absenderemail\n";
$headers .= "Errors-To: $Absenderemail\n";
$headers .= "X-Mailer: PHP/".phpversion()."\n";
$headers .= "X-Priority: 3\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=ISO-8859-1\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\n";
$return   = "-f$Email";
mail("hotel-haus-christa@t-online.de", "$subject", $message, $headers);
mail("info@assedo.de", "$subject", $message, $headers);

if ($iText) { $antwortseite .= "<tr><td valign=\"top\">Nachricht:</td><td>&nbsp;&nbsp;&nbsp;</td><td>$iText</td></tr>\n"; }
$antwortseite .= "</table>\n";
$antwortseite .= "$antwort_end\n";
echo "$antwortseite";

unset($_POST);
?>
 
Zuletzt bearbeitet:
Du erwartest jetzt das es hier jemand gibt der sich das alles durchliest und das dann auch noch wenn es nicht einmal richtig formatiert ist.

Nur so viel: Schicke es einfach mal als Textnachricht und schau was passiert.
 
Hi, also den Beitrag hab ich mir angeschaut, finde aber keine Lösung. Ich hab jetzt den Testzugang vom Kunden bekommen. Er ruft seine Mails mit dem Webmailer von t-online ab. Als Absender steht im Posteingang der Name der im Feld Name hinterlegt wurde, der Betreff ist aber komischerweise leer. Wenn ich die Mail öffnen will, klappt das überhaupt nicht. Er läd und läd und läd. Es kommt keine Vorschau der Mail geschweige denn das er die Mail öffnet. Nichts.
Ich hab in meiner output.php auch schon versucht, teile des Headers zu löschen, neu hochgeladen, Testmail verschickt - nichts geht. Auch die Zeilenschaltung mit \n hab ich überall gelöscht - nix.

Wer kann (vlt. Tombe) mir da helfen?

Gruss
holli
 
Zuletzt bearbeitet:
Tipps zum Debugging:

Du hast sehr viele Angaben im Header, die nicht nötig sind, damit die Mail ankommt. Fang doch mal bei der Mindestmenge von Informationen im Header an und teste, ob die Mail ankommt. Falls es klappt, füg weitere Informationen hinzu und teste jedes Mal neu. Teste auch mit anderen Empfängern bei anderen Anbietern.

Grüße
Frezl
 
Nachdem was man so liest denke ich das irgendeine Angabe des Headers die Probleme macht. Warum es bei den anderen Mail-Adresse geht un nur bei T-Online nicht ist eine gute Frage.

Ich würde an deiner Stelle wie auch Frezl schreibt mit einer ganz "einfachen" Nachricht anfangen und schauen was damit passiert.

Was mir noch aufgefallen ist. Du setzt manche Variablen in Anführungszeichen. Das ist zwar nicht unbedingt falsch aber so wirklich richtig ist es auch nicht.

PHP:
// $subject steht in Anführungszeichen!?
mail("hotel-haus-christa@t-online.de", "$subject", $message, $headers);
mail("info@assedo.de", "$subject", $message, $headers);

Kommt an so mancher Stelle in deinem Code vor!
 

Neue Beiträge

Zurück