Formulargenerator
Re: Formulargenerator
Ja, Du bräuchtest die Eingabe im Formularfeld nur an das Array $recipients_in_array im Abschnitt "sending mail" anhängen. Das würde ich aber über die Konfiguration als optional "zuschaltbar" einbinden, damit das Modul mehrfach verwendbar bleibt. Wichtig: Der Variablenname zum Anhängen an das Array der Empfänger im Output muss mit dem in der Konfiguration übereinstimmen.
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Habe das gleiche Problem und komme nicht weiter. Gibt es mittlerweile schon eine Lösung??
egon2358 hat geschrieben: "keine Verbindung zum Mailserver - bitte nochmal versuchen
keine Verbindung zum Mailserver - bitte nochmal versuchen
Vielen Dank für Ihre Nachricht. Folgende Informationen wurden übermittelt."
Ich würde ja sagen es hängt an phpmailer jedoch bekomme ich das nicht zusammen.. wo genau kann ich das umstellen? :
# ggf. Umstellung von mail() auf smtp im Bereich ***** sending mail and displaying mailed data begin ***** der Modul-Ausgabe
Ich weiß momentan nicht weiter.
Re: Formulargenerator
Hast Du mal andere Kontaktformulare ausprobiert? Klappen die?
Artikelkonfiguration korrekt?
Bei Egon lags am Hosting und den entsprechenden Servereinstellungen -> Post vom 20.10.2014, Nachtrag
Artikelkonfiguration korrekt?
Bei Egon lags am Hosting und den entsprechenden Servereinstellungen -> Post vom 20.10.2014, Nachtrag
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Meine Serverleute sagen mir folgendes:
Habe jetzt Contenido 4.9.9 installiert und versuche das Kontaktformular erneut zum laufen zu bekommen. Kann mir jemand weiterhelfen wie ich das Modul auf SMTP umstelle?Das Formularscript versucht jedenfalls erst gar nicht, die Mail über
PHP mail(), also direkt vom Webserver aus zu versenden.
Versuchen Sie ggf. einmal, die Konfiguration des Scripts bzw. Moduls
auf SMTP umzustellen.
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Formulargenerator
Hallo Freddy,
Warum dieses bei deinem Hoster nicht geschieht müsste man an den entsprechenden Logs sehen können. Du kannst aber auch mal das @ vor dem mail-Befehl entfernen, dieses unterdrückt ja die Fehlerausgabe. Eventuell gibt es dann eine entsprechende Meldung.
Gruß aus Franken
Ortwin
Dieses Modul kann (so wie es programmiert ist) momentan ausschliesslich per PHP-Mail-Funktion sendenFreddy hat geschrieben:Kann mir jemand weiterhelfen wie ich das Modul auf SMTP umstelle?
Code: Alles auswählen
if (@mail($recipient,$mail_subject,"",$mail_header)) $sent = true;
else echo "<br/>keine Verbindung zum Mailserver - bitte nochmal versuchen";
}
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Formulargenerator
Habe es jetzt mal ohne @ versucht aber es kommt wieder nur die Fehlermeldung: keine Verbindung zum Mailserver - bitte nochmal versuchen.
Im Errorlog steht folgendes:
Im Errorlog steht folgendes:
Den Pfad habe ich mit ... gekürzt. Mit dem Errorlog kann ich aber nicht wirklich was anfangen.[02-Mar-2016 12:08:50 Europe/Berlin] PHP Warning: mail(): Multiple or malformed newlines found in additional_header in /home/www/.../contenido/includes/frontend/include.front_content.php(750) : eval()'d code on line 302
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Formulargenerator
Hi,
deine "Serverleute" sind nicht zufällig von 1und1? Wie auch immer.
Tante G. hätte da recht schnell geholfen https://www.google.de/search?client=ubu ... 8&oe=utf-8
Da hab ich dann gleich diesen Beitrag gefunden http://giveback.danielmenzel.de/?p=121
Gruß aus Franken
Ortwin
deine "Serverleute" sind nicht zufällig von 1und1? Wie auch immer.
Tante G. hätte da recht schnell geholfen https://www.google.de/search?client=ubu ... 8&oe=utf-8
Da hab ich dann gleich diesen Beitrag gefunden http://giveback.danielmenzel.de/?p=121
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Formulargenerator
EDIT: ANPASSUNG NICHT MEHR MIT AKTUELLER VERSION KOMPATIBEL!
Hallo Freddy,
ich habe mal Anpassungen vorgenommen. Zwar auf die Schnelle, aber es läuft. Für einen "runden" Neuaufbau des Bereichs /*########## sending mail and displaying mailed data begin ##########*/ fehlt mir momentan die Zeit. Die Ergänzungen betreffen ausschließlich den Output des Moduls:
1. Ergänze am Anfang des Outputs die Variable $method, die if-Abfrage und passe die Werte entsprechend an:
2. Ersetze ziemlich am Ende des Outputs
durch
Wichtig: Normalerweise passe ich im Eröffnungspost bei Korrekturen und Ergänzungen die Quelltexte an. Da diese Ergänzung zwar funktioniert aber "quick'n'dirty" ist, ist sie NICHT im Anfangsposting enthalten.
VG,
Markus
Hallo Freddy,
ich habe mal Anpassungen vorgenommen. Zwar auf die Schnelle, aber es läuft. Für einen "runden" Neuaufbau des Bereichs /*########## sending mail and displaying mailed data begin ##########*/ fehlt mir momentan die Zeit. Die Ergänzungen betreffen ausschließlich den Output des Moduls:
1. Ergänze am Anfang des Outputs die Variable $method, die if-Abfrage und passe die Werte entsprechend an:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : form_generator_sd
* Author(s) : Seamless-Design Markus Hübner
* Copyright : Markus Hübner
* Created : 08/2014
* modified : 03/2016: added smtp-support
************************************************/
$method="smtp"; // smtp or empty
if($method=="smtp")
{
$host = 'xxx.xxx.xxx.xxx';
$username = 'xxx';
$password = 'xxx';
$mail_header_smtp_from = "adresse@domain.de";
require_once "mail.php";
require_once "Mail/mime.php";
}
2. Ersetze ziemlich am Ende des Outputs
Code: Alles auswählen
// Ende:
$mail_header .= "\n--".$boundary."--";
}
}
foreach($recipients_in_array as $recipient)
{
if (@mail($recipient,$mail_subject,"",$mail_header)) $sent = true;
else echo "<br/>keine Verbindung zum Mailserver - bitte nochmal versuchen";
}
/********** sending mail end **********/
Code: Alles auswählen
// Ende:
$mail_header .= "\n--".$boundary."--";
if($method=="smtp") // different header is used, so attachment has to be placed within $mail_body
{
$mail_body = "--".$boundary."\nContent-Type: text/html; charset=iso-8859-1\r\n\n\n".$mail_body;
$mail_body .= "\n--".$boundary;
$mail_body .= "\nContent-Type: ".$_FILES['attachment']['type']."; name=\"".utf8_decode($_FILES['attachment']['name'])."\"";
$mail_body .= "\nContent-Transfer-Encoding: base64";
$mail_body .= "\nContent-Disposition: attachment; filename=\"".utf8_decode($_FILES['attachment']['name'])."\"";
$mail_body .= "\n\n".$file_content;
$attachment="true";
}
}
}
foreach($recipients_in_array as $recipient)
{
if($method=="smtp")
{
$smtp = Mail::factory('smtp', array('host'=>$host, 'auth'=>true, 'username'=>$username, 'password'=>$password));
$headers = array(
'From' => $mail_header_smtp_from,
'Subject' => $mail_subject
);
if($attachment=="true")
{
$headers['Content-Type']="multipart/mixed; boundary=\"".$boundary."\"\n";
}
else
{
$headers['Content-Type']="text/html; charset=iso-8859-1\r\n";
}
$mail = $smtp -> send($recipient, $headers,$mail_body);
if(PEAR::isError($mail)) echo $mail->getMessage();
else echo '';
}
else
{
if (@mail($recipient,$mail_subject,"",$mail_header)) $sent = true;
else echo "<br/>keine Verbindung zum Mailserver - bitte nochmal versuchen";
}
}
/********** sending mail end **********/
VG,
Markus
Zuletzt geändert von McHubi am So 2. Apr 2017, 21:10, insgesamt 1-mal geändert.
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Vielen Dank für Eure Mühe. Der Vorschlag von McHubi läuft leider nicht bei mir aber der Tip von Tante G. habe ich versucht anzuwenden und siehe da es funktioniert. Bei Email mit Anhang kommt eine Email mit ewig langen Code an aber zum Glück brauche ich kein Formular mit Anhang. Habe nur noch ein Umlautproblem. Ich bin nicht beim Provider 1und1. Habe mal den Abschnitt wo ich Veränderungen gemacht habe hier gepostet. Vielleicht sieht jemand noch ein Fehler drin den man verbessern kann und vielleicht auch wie ich das Umlautprobelm gelöst bekomme.
Code: Alles auswählen
/********** sending mail begin **********/
$eol = PHP_EOL;
if($form_submitted!="" AND $no_errors=="true")
{
$ip = htmlspecialchars(strip_tags($_SERVER["REMOTE_ADDR"]));
if($gender=="female") $gender_mail=mi18n("output email female");
else $gender_mail=mi18n("output email male");
//building array with recipients
$recipients = "CMS_VALUE[100]";
$array_recipients=array_filter(explode("//",$recipients));
$recipients_in_array=explode("//",$recipients);
//formatting subject of email
$mail_subject="CMS_VALUE[200]";
$mail_subject.=' - '.$name;
// mail_body ist build within checking for errors section
$mail_header = "From: ".$name." <".$email.">".$eol;
$mail_header .= "X-Sender-IP: ".$ip."".$eol;
if($filetype=="")
{
$mail_header .= "Content-type: text/html; charset=iso-8859-1".$eol;
$mail_header .= $mail_body;
$filename="";
}
else
{
$filename=$_FILES['attachment']['name'];
if (isset($_FILES['attachment']['name']) && trim($_FILES['attachment']['name']) != "")
{
// Datei einlesen und codieren:
$file_content = fread(fopen($_FILES['attachment']['tmp_name'],"r"),filesize($_FILES['attachment']['tmp_name']));
$file_content = chunk_split(base64_encode($file_content),76,"");
// Boundary festlegen:
$boundary = md5(uniqid(rand()));
// Mail-Header:
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
$mail_header .= "This is a multi-part message in MIME format.".$eol;
// Mail-Text:
$mail_header .= "--".$boundary.$eol;
$mail_header .= "Content-Type: text/html; charset=iso-8859-1".$eol;
$mail_header .= $mail_body.$eol;
// Attachment:
$mail_header .= $boundary;
$mail_header .= "Content-Type: ".$_FILES['attachment']['type']."; name=\"".$_FILES['attachment']['name']."\"".$eol;
$mail_header .= "Content-Transfer-Encoding: base64".$eol;
$mail_header .= "Content-Disposition: attachment; filename=\"".$_FILES['attachment']['name']."\"".$eol;
$mail_header .= $file_content.$eol;
// Ende:
$mail_header .= "--".$boundary."--";
}
}
foreach($recipients_in_array as $recipient)
{
if (@mail($recipient,$mail_subject,"",$mail_header)) $sent = true;
else echo "<br/>keine Verbindung zum Mailserver - bitte nochmal versuchen";
}
/********** sending mail end **********/
Re: Formulargenerator
Dann wird die Mail nicht als multipart verschickt. Ein paar "Output-Schnipsel" auf dem Weg dahin:Bei Email mit Anhang kommt eine Email mit ewig langen Code an
Prüfung ob ein Dateianhang übermittelt wurde und welchen Typs er ist:
Code: Alles auswählen
if($field[1]=="type_file")
{
$array_filetype=explode('/',$_FILES[$field[0]]['type']);
$filetype=strtolower($array_filetype[1]);
Code: Alles auswählen
if($filetype=="")
{
$mail_header .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_header .= "\n\n".$mail_body;
$filename="";
}
Ist der Filetype gefüllt, wurde eine Datei angehängt. Der Content-Type muss anders lauten:
Code: Alles auswählen
else
{
$filename=$_FILES['attachment']['name'];
if (isset($_FILES['attachment']['name']) && trim($_FILES['attachment']['name']) != "")
{
// Datei einlesen und codieren:
$file_content = fread(fopen($_FILES['attachment']['tmp_name'],"r"),filesize($_FILES['attachment']['tmp_name']));
$file_content = chunk_split(base64_encode($file_content),76,"\n");
// Boundary festlegen:
$boundary = md5(uniqid(rand()));
// Mail-Header:
$mail_header .= "MIME-Version: 1.0\n";
$mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$mail_header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$mail_header .= "--".$boundary;
$mail_header .= "\nContent-Type: text/html; charset=iso-8859-1\r\n";
$mail_header .= "\n\n".$mail_body;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['attachment']['type']."; name=\"".$_FILES['attachment']['name']."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['attachment']['name']."\"";
$mail_header .= "\n\n".$file_content;
// Ende:
$mail_header .= "\n--".$boundary."--";
Code: Alles auswählen
if (@mail($recipient,$mail_subject,"",$mail_header)) $sent = true;
else echo "<br/>keine Verbindung zum Mailserver - bitte nochmal versuchen";
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Da ich mir das Modul ohnehin gerade angesehen habe, hab ich mal eben noch die Möglichkeit hinzugefügt, per "Trenner" (type_separator) Zwischenüberschriften einzufügen um Formulare segmentieren zu können. Die Quelltexte im Eröffnungspost sind angepasst.
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Hallo Markus,
benutze das Modul auf eine Webseite mit zwei Sprachen. Wenn ich in einer Sprache das Modul konfiguriere wird es automatisch für die andere Übernommen. Kann man es irgendwie ausschalten.
benutze das Modul auf eine Webseite mit zwei Sprachen. Wenn ich in einer Sprache das Modul konfiguriere wird es automatisch für die andere Übernommen. Kann man es irgendwie ausschalten.
Re: Formulargenerator
Hallo Freddy,
muss ich mir näher anschauen. Kann Dir allerdings nicht sagen, wann ich das schaffe weil grad viel um die Ohren...
Meld mich aber hier nochmal dazu.
Bis dahin,
Markus
muss ich mir näher anschauen. Kann Dir allerdings nicht sagen, wann ich das schaffe weil grad viel um die Ohren...
Meld mich aber hier nochmal dazu.
Bis dahin,
Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
Re: Formulargenerator
Ich glaube mittlerweile, dass es nicht ein Problem des Moduls sondern vom Contenido-System ist. Schlage mich mit ähnlichen Problemen in Download oder Artikelliste rum. Dort werden auch die Konfigurationswerte von der anderen Sprache teilweise übernohmen.
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Formulargenerator
Servus,
Contenido bietet seit jeher die Möglichkeiten Konfigurationen in Modulen Mandanten- und Sprach-spezifisch abzulegen. Jedoch müssen das die Module auch entsprechend nutzen. Hier kommt es dann doch sehr darauf an, wie die "interne" Verarbeitung von Konfigurationen umgesetzt wird.
Da es mehrere Möglichkeiten in Modulen dafür gibt (Input, XML, (Artikel-)Properties, etc.) kann man natürlich schwerlich eine allgemein gültige Aussage dazu machen. Zumindest im Modul-Input-Bereich werden direkt beim Artikel die Konfigurationswerte zu Sprache und/oder Mandant zugeordnet. Auch bei den Content-Types sollte das so sein. Sofern die globalen Variablen für 'idlang' und 'idclient' vorhanden und entsprechend befüllt sind, werden diese entweder direkt oder per cRegistry ausgewertet und verwendet.
Falls Jemand Zeit, Lust und Laune hat könnte sie/er ja einmal alle Möglichkeiten mit den entsprechenden Bereichen listen und hier einstellen. Dann könnte Jeder dort mal schauen ob die Kriterien erfüllt sind, oder ob es noch Bugs oder Nachbesserungspotential gibt.
Gruß aus Franken
Ortwin
Ein ganz klares JEIN.Freddy hat geschrieben:Ich glaube mittlerweile, dass es nicht ein Problem des Moduls sondern vom Contenido-System ist.
Contenido bietet seit jeher die Möglichkeiten Konfigurationen in Modulen Mandanten- und Sprach-spezifisch abzulegen. Jedoch müssen das die Module auch entsprechend nutzen. Hier kommt es dann doch sehr darauf an, wie die "interne" Verarbeitung von Konfigurationen umgesetzt wird.
Da es mehrere Möglichkeiten in Modulen dafür gibt (Input, XML, (Artikel-)Properties, etc.) kann man natürlich schwerlich eine allgemein gültige Aussage dazu machen. Zumindest im Modul-Input-Bereich werden direkt beim Artikel die Konfigurationswerte zu Sprache und/oder Mandant zugeordnet. Auch bei den Content-Types sollte das so sein. Sofern die globalen Variablen für 'idlang' und 'idclient' vorhanden und entsprechend befüllt sind, werden diese entweder direkt oder per cRegistry ausgewertet und verwendet.
Falls Jemand Zeit, Lust und Laune hat könnte sie/er ja einmal alle Möglichkeiten mit den entsprechenden Bereichen listen und hier einstellen. Dann könnte Jeder dort mal schauen ob die Kriterien erfüllt sind, oder ob es noch Bugs oder Nachbesserungspotential gibt.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog