[HTML/PHP] Mailformular funktioniert nicht

  • Ersteller Ersteller Mr. Snoot
  • Erstellt am Erstellt am
M

Mr. Snoot

Gast
Hio,

ich habe bisher einen Formmailer von PlaNet Concept verwendet.

Seit die Webseite bei nem anderen Host liegt (Host Europe) funktioniert es aber nicht mehr. Viel muss man an dem Script nicht einstellen (lediglich die Mailadressen anpassen), darum geh ich davon aus, dass ich nichts falsch gemacht habe (das Script wurde ja auch nicht modifiziert seit dem Umzug).

Ich hab das Script an meine Seite angepasst, aber auch mit der vorgefertigten Beispieldatei funktioniert es nicht.

Das Script arbeitet so, als ob es funktionieren würde, spuckt also keinen Fehler aus. Man landet wie eingestellt auf einer bestimmten Webseite, wenn man die Mail abschickt. Siehe im Script Zeile 83:
HTML:
"dat1" => array("kontakt@domain.tld", "kopie@domain.tld", "Kontakt über die Internetseite", "/planetmail/danke.htm"),
Aber es kommt eben nie eine Mail bei mir an (die Mailadresse an sich funktioniert natürlich).


Kann es sein, dass das vom Host nicht unterstützt wird (falsche PHP Version oder sowas)?
 
Zuletzt bearbeitet:
Hallo,

lasse dir am besten einmal die an die Mailfunktion übergebenen Parameter ausgeben.
Beispielsweise so:

PHP:
// Nach Zeile 158 einfügen

echo "Empfänger: ".$mailto.", Betreff: ".$subject.", Nachricht: ".$message.", Headerdaten: ".$header;
Sollten diese Daten alle korrekt übergeben werden, wird wohl irgendwas falsch eingerichtet sein.

Wenn ich mich richtig erinnere musste man zumindest vor einiger Zeit, als ich noch Webspace bei Host-Europe hatte, irgendwo eine Standard-Mail-Adresse im KIS einstellen bzw. der Mail-Funktion einen speziellen Parameter übergeben.

MfG mh1001


// Edit:

Nach etwas suchen im FAQ bin ich wieder auf den entsprechenden Eintrag zu dem Thema gestoßen: *klick*
 
Zuletzt bearbeitet:
Hio,

danke erstmal - das was in den FAQs steht nützt aber leider nichts. Kommt nach wie vor keine Mail an :(

Wenn ich deinen Code in das Script einfüge passiert gar nichts - kein Fehler, keine Ausgabe.
 
Ich habe eben noch einmal einen Blick auf den Code geworfen. Dass du die Ausgabe nie zu sehen bekommst ist eigentlich logisch, da der Script sofort per Header-Funktion eine Weiterleitung zu der anderen Seite veranlasst.
Nehme einmal testweise diese Anweisung (Zeile 141: "Header("Location: $redirect");") heraus und schaue, ob du dann die entsprechenden Daten korrekt ausgegeben bekommst.

MfG mh1001
 
Seit die Webseite bei nem anderen Host liegt (Host Europe) funktioniert es aber nicht mehr

Es ist vielleicht eine blöde Frage, aber ich stelle sie trotzdem. Läuft auf dem neuen Server auch ein Mailserver? Ansonsten kannst du lange auf deine Mail warten, die du versuchst per PHP zu verschicken.
 
@*cerox*

Ein Mailserver wird auf jeden Fall auf dem Server laufen, da dieser bei allen Webpack-Angeboten von Host-Europe enthalten ist und ich einfach einmal davon ausgehe, dass Gauder eines dieser Webpacks und keinen (v)Server hat.
Sollte kein Mailserver auf dem Server eingerichtet sein, müsste der zumindest Aufruf der Mailfunktion in einem Fehler enden. ;)

MfG mh1001
 
Zuletzt bearbeitet:
Da wird alles korrekt ausgegeben:
Empfänger: ****, Betreff: Neuer Begriff fürs Lexikon, Nachricht: Gesendet am Sonntag, den 11.06.2006 - 12:49 Uhr. Begriff: Fehlender Begriff, Headerdaten: From: ****
(ja, hab ein Webpack :))

Ich werd später nochmal mit einer älteren Version des Scripts testen, die auch schonmal bei mir lief.
 
Zuletzt bearbeitet:
Sofern die Daten an dieser Stelle stimmen, braucht du auch keine andere Version des Scripts testen, da das Senden der Nachricht an dieser Stelle nurnoch einzig und allein von der Mailfunktion abhängt, welche anscheinend die Daten nicht korrekt an den MTA weitergibt, bzw. dem MTA, welcher diese nicht korrekt verarbeitet.

Ersetze einmal den entsprechenden Teil gegen folgendes und poste einmal die Ausgabe:
PHP:
// eMail verschicken
if ($testOffline == '0')
{
  echo "Empfänger: ".$mailto.", Betreff: ".$subject.", Nachricht: ".$message.", Headerdaten: ".$header."\n"; 

  $rueckgabewert = mail($mailto, $subject, $message, $header, "-f local_part@domain.tld"); // in dem Fall beispielsweise "lexikon@halbleiter.org" oder eine andere Adresse, die im KIS eingerichtet ist

  echo "Rückgabewert: ".$rueckgabewert;  
}
 
Zuletzt bearbeitet:
Gleiche Ausgabe wie oben, Rückgabewert: 1

(ich seh's schon kommen, am Ende find ich die Mails irgendwo in nem Spamfilter oder so :D)
 
Gauder schrieb:
[...] (ich seh's schon kommen, am Ende find ich die Mails irgendwo in nem Spamfilter oder so :D)
Eigentlich bleibt sonst auch nicht viel übrig. ;)
Der Rückgabewert lässt darauf schließen, dass die Mail korrekt an den MTA übegeben wurde.
Jetzt bleiben eigentlich nurnoch zwei Möglichkeiten:

1) Die Mails werden irgendwo abgefangen (Spamfilter, ...)
2) Der MTA verarbeitet die Daten nicht

Sollte erstere ausgeschlossen sein, so würde ich mich einfach einmal an Host-Europe wenden und diese auf das Problem ansprechen. In der Regel reagiert deren Kundendienst recht schnell auf solche Anfragen.

MfG mh1001
 
Zurück
Oben