Nimm mal das @ hier raus:
Vielleicht kriegst Du dann eine genauere Meldung.if (@mail( $...
Hallo Forum,
Das ist das Ergebnis aus Mail senden. Das habe ich nach dem Mailversand als echo ausgegeben.
Es kommt aber keine eMail an...Danke, die Email wurde verschickt! ==>> An yy@domain.de
yy@domain.de <== empfaenger
Hallo Test an empfaenger <== betreff
Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - <== nachricht
mailheader ==> From: Webmaster Reply-To: Webmaster Return-Path: webmaster@big-garath.de Message-ID: <1327790053 noreply@big-garath.de> X-Mailer: PHP v5.2.17 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary = a493ba8dade90e2952b94fac501fd0e3 <== mailheader
Bin schon drei Tage zugange, und habe immer noch nicht gefunden wo der Fehler ist.
Über einen Hinweis würde ich mich freuen...PHP-Code:<?php
session_start;
header( 'Content-Type: text/html; charset=utf-8' );
$zz = "\r\n";
$empfang = "yy@domain.de";
$absender = "webmaster@big-garath.de";
$webm = $_SERVER['SERVER_ADMIN'];
$nachricht = 'Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - ';
$csv = '../verz1/verz2/xxx_gl.csv';
$_POST['name'] = 'webmaster';
$_POST['email'] = $empfang;
$_POST['betreff'] = 'Hallo Test an empfaenger';
$_POST['nachricht'] = $nachricht;
$_POST['senden'] = 'senden';
$_FILES['datei'] = $csv;
$server = 'big-garath.de';
// Empfänger Email
$empfaenger = $empfang;
// Prüfen ob das Formular abgeschickt wurde
if (isset($_POST['senden']) && filesize($_FILES['datei']) > 0)
{
// Funktionen einbinden == die inc-Datei funktioniert
include( 'funktionen.inc.php' );
// Benutzereingaben bereinigen und auf Injection prüfen
cleanInput();
// Name prüfen
$name = checkName( $_POST['name'] );
// Email prüfen
$email = checkEmail( $_POST['email'] );
// Betreff und Nachricht prüfen
if ((strlen( $_POST['betreff'] ) < 5) || (strlen( $_POST['nachricht'] ) < 5))
{
die( 'Bitte füllen Sie alle Felder aus!' );
}
else
{
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
}
// Upload prüfen
$uploadname = checkFile();
// --------------------------------------------------------------------------------
// Wurde das Script bisher nicht abgebrochen, wurde das Formular korrekt ausgefüllt
// --------------------------------------------------------------------------------
// Template mit dem Mailbody laden
$template = file_get_contents( 'mailbody.txt' );
// Trenner für den Anhang
$trenner = md5( time() );
// Platzhalter mit den Benutzereingaben ersetzen
$template = str_replace( '###NAME###', htmlspecialchars( $name ), $template );
$template = str_replace( '###EMAIL###', $email, $template );
$template = str_replace( '###NACHRICHT###', nl2br( htmlspecialchars( $nachricht ) ), $template );
// Mail Header erstellen
$mailheader = "From: Webmaster<" . $webm . ">". $zz;
$mailheader .= "Reply-To: Webmaster <" .$webm. ">" . $zz;
$mailheader .= "Return-Path: webmaster@" . $server . $zz;
$mailheader .= "Message-ID: <" .time(). " noreply@" . $server . ">" . $zz;
$mailheader .= "X-Mailer: PHP v" .phpversion(). $zz;
$mailheader .= "MIME-Version: 1.0" . $zz;
$mailheader .= "Content-Type: multipart/mixed;" . $zz;
$mailheader .= " boundary = " .$trenner;
// Mailbody vorbereiten
$mailbody = "This is a multi-part message in MIME format" . $zz;
$mailbody .= "--" .$trenner. $zz;
$mailbody .= "Content-Type: text/html; charset=UTF-8" . $zz;
$mailbody .= "Content-Transfer-Encoding: 8bit" . $zz;
$mailbody .= $template. $zz;
// Anhang anfügen
$mailbody .= "--" .$trenner. $zz;
$mailbody .= "Content-Type: text/plain; name=\"" . $uploadname . "\"" . $zz;
$mailbody .= "Content-Transfer-Encoding: base64" . $zz;
$mailbody .= "Content-Disposition: attachment; filename=\"" . $uploadname . "\"" . $zz;
$mailbody .= chunk_split( base64_encode( file_get_contents( $_FILES['datei'] ) ) );
$mailbody .= $zz;
// Email versenden
if (@mail( $empfaenger, htmlspecialchars( $betreff ), $mailbody, $nachricht, $mailheader ))
{
// Bei erfolgreichem Versand Danke-Seite anzeigen
echo 'Danke, die Email wurde verschickt! ==>> An ' . $empfaenger . $br;
} else {
die('konnte keine Verbindung aufbauen');
}
}
echo $empfaenger . ' <== empfaenger' . $br . htmlspecialchars( $betreff ) . ' <== betreff' . $br;
echo $mailbody . ' <== mailbody' . $br;
echo $nachricht . ' <== nachricht' .$br . 'mailheader ==> ' .$mailheader .' <== mailheader';
?>
Nimm mal das @ hier raus:
Vielleicht kriegst Du dann eine genauere Meldung.if (@mail( $...
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Antwort auf dem Screen
Sonst nichts mehrDanke, die Email wurde verschickt! ==>> An xx@domail.de
xx@domain.de <== empfaenger
Hallo Test an empfaenger <== betreff
Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - <== nachricht
mailheader ==> From: Webmaster Reply-To: Webmaster Return-Path: webmaster@big-garath.de Message-ID: <1327792262 noreply@big-garath.de> X-Mailer: PHP v5.2.17 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary = 7733c98b2ecc3f9b0217eff658703ccb <== mailheader
Im Webmailer /Span ist auch nicht drin, und der Sender ist in der White-Liste. Mein Provider Host-Europé
Geändert von kami (29.01.2012 um 00:43 Uhr)
Nur eine Vermutung:
Bei
Müsste ein Leerzeichen zwischen "Webmaster" und "<" - manche Mailserver stellen sich an wie ein deutscher Finanzbeamter wenn da die Syntax nicht penibelst genau eingehalten wird.PHP-Code:// Mail Header erstellen
$mailheader = "From: Webmaster<" . $webm . ">". $zz;
Ersetze notfalls mal den Return-Path manuell mit deiner E-Mail-Adresse - vielleicht kann die Mail aus Gründen nicht zugestellt werden, dann würdest du an die dort angegebene Mailadresse die Bounces erhalten.
Das Ergebnis der Änderungen
... und das der PHP-TeilDanke, die Email wurde verschickt! ==>> yy@domain.de
yy@domain.de <== empfaenger
Hallo Test an empfaenger <== betreff
Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - Ein Test - <== nachricht
mailheader ==> From: Webmaster Reply-To: Webmaster Return-Path: webmaster@big-garath.de Message-ID: <1327796387 noreply@big-garath.de> X-Mailer: PHP v5.2.17 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary = ffae73f0f3c6f0dcc2f375109c055135 <== mailheader
PHP-Code:// Mail Header erstellen
$mailheader = "From: Webmaster <" . $webm . ">". $zz;
$mailheader .= "Reply-To: Webmaster <" .$webm. ">" . $zz;
$mailheader .= "Return-Path: webmaster@big-garath.de" . $zz;
$mailheader .= "Message-ID: <" .time(). " noreply@" . $server . ">" . $zz;
$mailheader .= "X-Mailer: PHP v" .phpversion(). $zz;
$mailheader .= "MIME-Version: 1.0" . $zz;
$mailheader .= "Content-Type: multipart/mixed;" . $zz;
$mailheader .= " boundary = " .$trenner;
Hosteurope? Schau mal, ob im Adminbereich von Hosteurope (KIS) eine Standard-Mail-Adresse eingerichtet ist (musste mal durchklicken, ich weiß gerade nicht mehr, wo das genau war). Wenn Du sone Adresse nicht angegeben hast, werden einfach keine Mails verschickt ...
Edit: gerade nochmal geguckt: Webhosting -> beim Webpack auf den Button "konfigurieren" -> Skripte -> Standard-E-Mail-Adresse
Falls Du darauf keinen Zugriff hast, kann man glaube ich auch direkt im Script mit dem Parameter "-f" eine Adresse einbauen .. da müsste ich aber dann genauer suchen ..
Geändert von wildmieze (29.01.2012 um 01:39 Uhr)
Da ist der webmaster@big-garath.de eingetragen
Ok, dann kann es daran nicht liegen .. nen Versuchs war's wert![]()
Im Logfile finde ich auch keinen Error-Eintrag
Kannst du mal ein var_dump() um den mail()-Aufruf basteln? Vielleicht gibt der Mail-Befehl als Status bereits ein "false" zurück, was dann zumindest die Fehlersuche eingrenzt.
maxi89
habe es so gemacht:
das Ergebnis "bool(true) konnte keine Verbindung aufbauen"PHP-Code:if ( var_dump(mail( $empfaenger, htmlspecialchars( $betreff ), $mailbody, $nachricht, $mailheader )))
{
// Bei erfolgreichem Versand Danke-Seite anzeigen
echo 'Danke, die Email wurde verschickt! ==>> An ' . $empfaenger . $br;
} else {
die('konnte keine Verbindung aufbauen');
}
Ist das so richtig eingegeben?
Oha, hatte ganz vergessen dass das ja innerhalb einer IF-Anweisung aufgerufen wird...
Dann kannst du meinen Kommentar ignorieren, offenbar wirft der Mail-Befehl selbst keine Fehler.
Ich schicke dir mal eine PN mit einer Test-Adresse von mir, kannst du da mal versuchen eine Mail hinzuschicken? Ich will nur ganz sicher gehen, dass der Empfängermailserver die nicht einfach aussortiert.
Danke, die Email wurde verschickt! ==>> An deine Adresse
Logfile:
92.72.155.23 - - [29/Jan/2012:16:11:11 +0100] "GET /mail/mail.php HTTP/1.1" 200 231 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" "www.big-garath.de"
92.72.155.23 - - [29/Jan/2012:16:25:28 +0100] "GET /mail/mail.php HTTP/1.1" 200 258 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" "www.big-garath.de"
Hm, auf keinem meiner Mailserver ist auch nur der Versuch einer Maileinlieferung zu sehen (und im Postfach ist erst recht nichts angekommen).
Als letzten Versuch könntest du versuchsweise alles, was du dem Mailbefehl übergibst komplett in eine Textdatei schreiben und dir diese dann ansehen (Leere Zeile zwischen Header und Mailbody nicht vergessen).
Diese kann man dann testweise durch den Sendmail-Befehl auf der Linux-Konsole schubsen (wenn du willst, kannst du mir diese Datei zukommen lassen, ich jage sie dann durch mein Entwicklungssystem) und sehen, ob am anderen Ende was sinnvolles rauskommt.
Falls nicht, müsstest du mal mit dem Support des Webhosters sprechen - vielleicht ist deren MTA aus Gründen nicht in der Lage irgendwelche Mails zuzustellen. Da würde dann auch die generierte Datei helfen, denn darüber kann der Hoster eventuelle Fehler leicht erkennen.
Bei mir kam wie gesagt auf keinem einzigen System auch nur ein Versuch an, diese Mail einzuliefern, deshalb kann ich sämtliche Filter ausschließen.
auf Dein private Adresse?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)