Leeres Kontaktformular Wird übermittelt
Autor: Cherubim U.
Visited 1913,
Followers 3,
Udostępniony 21
Ich habe das Problem, dass ich ein Kontaktformular erstellt habe, dieses auch andie eingetragene e-mail Adresse übermittelt wird, aber die mail ist leer. Es enthält keine Daten?
Wer kann mir hier bitte weiter helfen?
Posted on the
. . . und es kann nicht an fehlendem PHP 5.x auf dem Server liegen ?
Siehe auch: http://answers.websitex5.com/post/2768
Ist das richtig, Version 8? Und der Link?
Da reicht ja auch php 4.x., aber glaube ich nicht, wird ja versendet...
@pcssa
Das Problem gabs doch mit den Schweizer Hoster?
. . . ich bezog mich auf das STRATO-Problem - welches *abgewandelt* ja auch bei CH/A-Hostern oft zu finden ist . . .
Und PHP 5.x gehört doch schon lage zum *Standard* - wenn also nur PHP 4 auf dem Server vorhanden ist kann man den doch als *veraltet* einstufen - dann kommen evtl. auch noch andere Probleme hinzu, wie bei *godaddy* mit IIS
Nee, ist ja ok.
War mir nur nicht mehr sicher, ob das mit den Schweizern zusammenhing.
Mit php4 meinte ich auch nur, dass es auch funktionieren müsste, und auf php5 umstellen war ja bei meinem alten Hoster eine Katastrophe, ging ja garnichts mehr danach. Aber weißt Du ja sicher noch...
Autor
Ich habe Version 8.016 und das Formular auf folgender Seite:
http://www.gasthaus-eichbaum.de/anfrage.html
Der Server ist von Telekom und auf Nachfrage wurde mir bestätigt, dass PHP aktiv ist. (Eingestellt auf PHP5. Kann man bei telekom selbst festlegen) Scheint mir irgendwie auch logisch, da das mail ja auch gesendet wird, nur ohne Information. Der Telekom Techniker teilte mir aber auch mit, dass für den Versand eines Formulars eine Index.php erforderlich sei. Diese gibt es bei mir aber nicht. Wenn so etwas erforderlich ist, müsste doch X5 diese generieren?
Schau ma, ob das Dir hilft:
http://forum.websitex5.com/viewtopic.php?t=20372
Schönen Gruß an den Techniker:
Die könnte auch meyer.php heißen. Nur die Frage wie sie aufgerufen wird... und in der V8 heißt diese sogar: mail_p........php
Autor
Die Datei IMEMAIL.INC.PHP finde ich bei mir im Ordner/res. Nicht finden kann ich etwas wie mail_p.......php. Wo sollte diese denn liegen?
Dein Link zeigt zwar einige Beispiele von Übermittlungsproblemen, aber dort wird etwas übermittelt. Ich nun auch mal noch probiert, einen Anhang mit zu schicken. Auch dieser kommt an, nur die mail selbst bleibt leer.
Die IMEMAIL.INC.PHP liegt lokal im V8 Installationsverzeichnis unter res.
Die mail_p..... müsste sich im Ordner files auf dem Server befinden.
Da ist sie: files/mail_p006_8_00.php
Autor
Habe hier noch einen neuen Eintrag in der log-Datei: Diese verweist auf die von dir angesprochene mail_p....php. Warum existiert die bei mir nicht?
PHP Notice: Undefined index: Itm_8_00_4_sub_1 in /home/www/files/mail_p008_8_00.php on line 13
PHP Notice: Undefined index: Itm_8_00_4_sub_3 in /home/www/files/mail_p008_8_00.php on line 13
PHP Notice: Undefined index: Itm_8_00_4_sub_1 in /home/www/files/mail_p008_8_00.php on line 14
PHP Notice: Undefined index: Itm_8_00_4_sub_3 in /home/www/files/mail_p008_8_00.php on line 14
sendmail:
Sent mail for *** (221 workplace.t-online.de)
sendmail:
Sent mail for *** (221 workplace.t-online.de)
sendmail:
Sent mail for *** (221 workplace.t-online.de)
sendmail:
Sent mail for *** (221 workplace.t-online.de)
sendmail:
Sent mail for *** (221 workplace.t-online.de)
sendmail:
Sent mail for *** (221 workplace.t-online.de)
Autor
Der Ordner files ist leer. Wenn ich auf die Homepage gehe, dann erscheinen im Ordner files folgende Dateien:
mail_p006_8_00.php + mail_p008_8_00.php
Ich verstehe im Moment die Welt nicht mehr.
Alles was hinter mail_p steht ist nur ein Verweis darauf, auf welcher Seite und an welcher Position sich das Mailscript befindet.
Veränderst Du die Position oder legst z.B. als Test ein zweites an, können sich die Dateien stapeln. Es werden nicht bedingt alle gebraucht.
Hier z.B. könnte das Script von Seite 6 auf 8 verlegt worden sein. Hat aber nichts mit Deiner Seitenstruktur zu tun, sondern das sind interne Nummerierungen die auch in der iwp stehen, also Objektverweise.
Warum die Datei nicht existiert ist natürlich merkwürdig, eigentlich bleiben sie liegen.
Lösche komplett diese Dateien alle weg und übertrage mal "ALLES" neu. Es wird wieder eine neue aktuelle Datei generiert.
Wenn trotzdem erfolglos bleibt Dir die Variante Scripttausch, lokal.
Autor
Habe den kpl. Ordner der Web-Site gelöscht, ein neues Projekt erstellt und hoch geladen. Das Resultat ist leider das Selbe.
Habe dann alternativ mit NetObject Fusion ein Formular erstellt, und dieses wird auch sauber übermittelt.
Somit muss es doch ean einer Einstellung von X5 liegen? Habe ich eine Gewähr dass es funktioniert, wenn ich Version 9 kaufe?
Aaaaahhh t-online da kenn ich mich aus...
Welches Paket benutzt du?
Die Telekom Techniker und auch deren Speicherplatz kannst du in die Tonne treten. Die 9er Version läuft ohne Änderung der Email Scripte.
Also ich habe auch die 8er am laufen gehabt bei der Telekom.
Mit diesem Code in der imemail.inc.php läuft das Kontaktformular.
Ich denke hier kommt wieder nur Müll raus beim Code schreiben aber versuch macht klug ansonsten schau mal hier vorbei
http://unofficialwsx5.de/b10_tutorial/email-probleme-beseitigen-mittels-alternativer-imemail-inc-php/285/msg1599#msg1599
es ist die Alternative IMEMAIL.INC.PHP-Script für Server minderer Qualität
<?php
//Incomedia WebSite X5 EMail Class. All rights reserved.
//true = force the user email address to be set as the sender
$imForceSender = false;
class imEMail {
var $from;
var $to;
var $subject;
var $charset;
var $text;
var $html;
var $attachments;
function imEMail($from,$to,$subject,$charset) {
$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->charset = $charset;
}
function setFrom($from) {
$this->from = $from;
}
function setTo($to) {
$this->to = $to;
}
function setSubject($subject) {
$this->subject = $subject;
}
function setCharset($charset) {
$this->charset = $charset;
}
function setText($text) {
$this->text = $text;
}
function setHTML($html) {
$this->html = $html;
}
function attachFile($name,$content,$mime_type) {
$attachment['name'] = $name;
$attachment['content'] = base64_encode($content);
$attachment['mime_type'] = $mime_type;
$this->attachments[] = $attachment;
}
function send() {
$headers = "";
$msg = "";
if($this->from == "" || $this->to == "" || ($this->text == "" && $this->html == ""))
return false;
$boundary = md5(time());
$headers .= "From: " . $this->from . "\n";
$headers .= "Message-ID: <" . time() . rand(0,9) . rand(0,9) . "@websitex5.users>\n";
$headers .= "X-Mailer: WebSiteX5 Mailer\n";
$headers .= "MIME-Version: 1.0\n";
if(is_array($this->attachments)) {
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\n\n";
$headers .= "--" . $boundary . "\n";
}
if($this->html == "") {
$headers .= "Content-Type: text/plain; charset=" . $this->charset . "\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$msg .= $this->text . "\n\n";
}
else if($this->text == "") {
$headers .= "Content-Type: text/html; charset=" . $this->charset . "\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$msg .= $this->html . "\n\n";
}
else {
$alt_boundary = $boundary . "_alt";
$headers .= "Content-Type: multipart/alternative; boundary=\"" . $alt_boundary . "\"\n";
$msg .= "--" . $alt_boundary . "\n";
$msg .= "Content-Type: text/plain; charset=" . $this->charset . "\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $this->text . "\n\n";
$msg .= "--" . $alt_boundary . "\n";
$msg .= "Content-Type: text/html; charset=" . $this->charset . "\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $this->html . "\n\n";
$msg .= "--" . $alt_boundary . "--\n\n";
}
if(is_array($this->attachments)) {
foreach($this->attachments as $attachment) {
$msg .= "--" . $boundary . "\n";
$msg .= "Content-Type: " . $attachment["mime_type"] . "; name=\"" . $attachment["name"] . "\"\n";
$msg .= "Content-Transfer-Encoding: base64\n";
$msg .= "Content-Disposition: attachment; filename=\"" . $attachment["name"] . "\"\n\n";
$msg .= chunk_split($attachment["content"]) . "\n\n";
}
$msg .= "--" . $boundary . "--\n\n";
}
$r = @mail($this->to, $this->subject, $msg, $headers, "-f" . $this->from);
if(!$r) {
$headers = "To: " . $this->to . "\n" . $headers;
$r = @mail($this->to, $this->subject, $msg, $headers);
}
return $r;
}
}
?>
Autor
Ich benutzer das Homepage Basic.
Leider hat auch das Einfügen deines Scriptes nicht den gewünschten Erfolg gebracht. Ich bin am Ende und werde wohl nun mit meinem alten Programm weiter arbeiten. Das Geld für die Software WebSite X5 habe ich dann halt in den Sand gesetzt.
Schade
Autor
Habe nun doch noch 2 Mal die gleiche Lösung gefunden. Möglicherweise funktioniert das Einstellen des Sciptes auch bei mir.
http://forum.websitex5.com/viewtopic.php?t=20312
http://answers.websitex5.com/post/2768
Leider finde ich nicht, wo ich bei Version 8 den "Skript für Server mit minderer Qualität" einstellen kann?
Hallo Cherubim U. ,
ich habe den Quellcode der o.g. Website überprüft: http://www.gasthaus-eichbaum.de/anfrage.html Demnach wurde diese mit Evolution 9 erstellt bzw. aktualisert.
Die o.g. Einstellung können in WebSite X5 Evolution 9 wiefolgt gesetzt werdenwerden:
1. Programm WebSite X5 Version 9 öffnen
2. "Einstellungen" öffnen
3. "Skripttyp für E-Mail-Versand"auswählen und diese Option aktivieren "Skript für Server mit minderer Qualität".
Gruß,
Noemi