Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

Formular: Email-Script

  • kiph22
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
16 Jan. 2010 20:34 #24087 von kiph22
Formular: Email-Script wurde erstellt von kiph22
Hallo,

Ich habe auf meiner Joomla-Seite ein selber erstelletes Formular, welches die eingegebenen Daten via Email an mich senden soll. Leider funktionniert das nicht....

Mein PHP-Script fürs Senden sieht so aus:
Code:
<?php /* Comment: Subjet and Email Variables */ $emailSubjet = 'Subject Test'; $toEmail = 'kiph@gmx.ch'; /* Comment: Gathering Data Variables */ $name = $POST&#91;'name'&#93;; $firstname = $POST&#91;'firstname'&#93;; $country = $POST&#91;'country'&#93;; $email = $POST&#91;'email'&#93;; $question = $POST&#91;'question'&#93;; $body = <<<EOD <br><hr><br> Name: $name <br> Firstname: $firstname <br> Country: $country <br> Email: $email <br> Question: $question <br> EOD; $headers = "From: $email\r\n"; $headers .= "Content-Type: text/html\r\n"; $success = mail($ToEmail, $emailSubjet, $body, $headers); /* Result-Message */ $resultMessage = <<<EOD Test EOD; echo "$resultMessage"; ?>

Die rusultMessage erscheint ganz normal und es gibt keine Fehlermeldungen, doch das Email erhalte ich nicht!!!

Bitte um hilfe!?

Gruss,
kiph22
Mehr
17 Jan. 2010 01:50 #24088 von Tribal6
Tribal6 antwortete auf Re: Formular: Email-Script
Hi

Die rusultMessage erscheint ganz normal und es gibt keine Fehlermeldungen, doch das Email erhalte ich nicht!!!


Klar, denn du prüfst ja nirgends, ob die Mail gesendet wurde, oder ob ein Fehler aufgetreten ist.

Falls der 'from' Header leer ist, geht die Mail auch nicht weg, auch das wird nicht überprüft. Und die HEREDOC-Syntax lohnt sich in diesem Snippet auch kaum, kann hingegen bei Verwendung z.T. auch eine zusätzliche Fehlerursache sein. Da du das Ganze ja innerhalb von Joomla verwendest, kannst du ja auch gleich deren Klassen nutzen:
Code:
$daten = JRequest::get('post'); // filtert schonmal alle Tags raus - HTML und JavaScript // prüfen und ev. setzen des benötigten From-Headers, da ja anscheinend keine Formularprüfung vorhanden ist: $daten&#91;'email'&#93; = (!empty($daten&#91;'email'&#93;)) ? $daten&#91;'email'&#93; : 'formular@deineseite.com'; $emailSubject = 'Subject Test'; $toEmail = 'kiph@gmx.ch'; $body = ''; foreach ($daten as $key => $value) { $body .= ucfirst($key).": ".$value."rn"; } $body = nl2br($body); // wenns eine HTML-Mail werden muss $succsess = JUtility::sendMail($daten&#91;'email'&#93;, $daten&#91;'firstname'&#93;.' '.$daten&#91;'name'&#93;, $toEmail, $emailSubject, $body, true, null, null, null, daten&#91;'email'&#93;, $daten&#91;'firstname'&#93;.' '.$daten&#91;'name'&#93;; if($success) { // mail ging weg echo 'Mail gesendet'; }else{ // mail ging nicht weg echo 'Fehler: Mail wurde nicht gesendet'; }

Die sendMail-Funktion ist so ziemlich die einzige Funktion in Joomla, die so viele Funktionsparameter hat. Dafür kannst du noch beliebig CC- oder Bcc-Empfänger hinzufügen, Text-oder HTML-Mail, und auch Attachments kannst du so versenden. Die Doku dazu findest du hier:
--ALTER LINK WURDE ENTFERNT--

Kann sein, das sich in dem Codeschnippsel doch noch ein Fehler eingeschlichen hat, denn getestet hab ich den nicht, nur geschrieben, und spät ist es auch schon, also nicht gleich hauen. ;)

Cheers
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.
  • kiph22
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
17 Jan. 2010 14:14 #24092 von kiph22
kiph22 antwortete auf Re: Formular: Email-Script
Hi Roger,

danke für deine Antwort... habe dein Code mal eingebaut und angepasst. Funktioniert leider noch nicht. Wo könnte noch der Fehler sein?
Code:
<?php $daten = JRequest::get('post'); // filtert schonmal alle Tags raus - HTML und JavaScript // prüfen und ev. setzen des benötigten From-Headers, da ja anscheinend keine Formularprüfung vorhanden ist: $daten&#91;'email'&#93; = (!empty($daten&#91;'email'&#93;)) ? $daten&#91;'email'&#93; : 'kiph@gmx.ch'; $emailSubject = 'Subject Test'; $toEmail = 'kiph@gmx.ch'; $body = ''; foreach ($daten as $key => $value) { $body .= ucfirst($key).": ".$value."\r\n"; } $body = nl2br($body); // wenns eine HTML-Mail werden muss $succsess = JUtility::sendMail($daten&#91;'email'&#93;, $daten&#91;'firstname'&#93;.' '.$daten&#91;'name'&#93;, $toEmail, $emailSubject, $body, true, null, null, null, daten&#91;'email'&#93;, $daten&#91;'firstname'&#93;.' '.$daten&#91;'name'&#93;; if($success) { // mail ging weg echo 'Mail gesendet'; }else{ // mail ging nicht weg echo 'Fehler: Mail wurde nicht gesendet'; } ?>
Mehr
17 Jan. 2010 16:08 #24093 von Tribal6
Tribal6 antwortete auf Re: Formular: Email-Script

Wo könnte noch der Fehler sein?


Keine Ahnung. Ohne Link zu der Seite und/oder mehr Code (das Formular selbst, z.B.) ist es nur ein sinnloses Ratespiel, das niemandem was bringt.

Warum nimmst du dazu denn nicht eine von den Formularkomponenten?

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Mehr
17 Jan. 2010 19:52 #24102 von Chris Hoefliger
Chris Hoefliger antwortete auf Re: Formular: Email-Script

Warum nimmst du dazu denn nicht eine von den Formularkomponenten?


Frag ich mich auch, Joomla hat doch den ganzen Formularkrempel schon an Bord, und wenn einem das nicht gefällt, gibts auch Alternativen. :)

Joomla! 3: Professionelle Webentwicklung von David Jardin und Elisa Foltyn - das Standardwerk zu Joomla! 3
Wer nicht über den Anstand verfügt, ein kleines "Thänx" auszusprechen, muss sich nicht wundern, künftig ignoriert zu werden!
Kein Support via PM oder Mail. Entsprechende Anfragen werden ignoriert.
Mehr
17 Jan. 2010 20:10 #24103 von Tribal6
Tribal6 antwortete auf Re: Formular: Email-Script
...und nen Schreipfähler hab ich auch grad entdeckt:
Code:
$succsess = JUtility::(........ if($success).........

Aber egal. Nimm doch was Fertiges, das ist in ein paar Minuten eingerichtet, dann hast du Ruhe, und sogar mehr Komfort noch dazu:
- Formularprüfung ist dabei
- ev. Captcha auch
- das Formular ist einfach zu erweitern
- die Resultate als Mail UND Datenbankeintrag, usw.

Cheers
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden