Contao-Camp 2024
Ergebnis 1 bis 19 von 19

Thema: E-Mail im Modul verschicken

  1. #1
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard E-Mail im Modul verschicken

    Hey,

    habe ein Modul was mir ne E-Mail schicken soll
    PHP-Code:
    class SendMail extends Module {   

        protected function 
    compile() { 

            
            if(\
    Input::post('FORM_SUBMIT') == 'auto_test' || \Input::post('FORM_SUBMIT') == 'test'
            {    
                
    $email=new Email();
                
    $email->from                = \Input::post('email');
                
    $email->fromName            'Test Absender';
                
    $email->subject                'Test-Nachricht';
                
    $email->text                 'Lorem ipsum...... usw.';
                
    $email->sendTo('meine@email.de');
            }
        }

    Jetzt verschickt es die E-Mail natürlich immer wenn man den "Abschicken-Button" klick.

    Das Formular müsste aber noch prüfen ob die Eingaben validibel sind, was es j anscheind auch so tut das Fehler ausgegeben werden. Aber wie schaffe ich das im Modul?

    LG

  2. #2
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Also hab mich heute echt tot gegooglet

    Gibt es da wirklich nichts?

    Sorry für den Doppelpost aber das macht mich ganz kirre

  3. #3
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    So hab das we wie getestet, und auch mal den hook prozessFormData probiert.

    Also irgendwie werd ich net schlau.

    kann mir echt keiner helfen? Wir müssen unbedingt die Email anpassen können damit unsere Mitarbeiter auch zufrieden sind und die Email übersichtlich bzw. lesbar.

  4. #4
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Hallo,

    wie erzeugst du denn die Input-Felder auf der Website? Wenn du die Widgets von Contao verwendest, kannst du diese dann automatisch vor der Weiterverarbeitung validieren
    Github-Account: https://github.com/fabil

  5. #5
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Hier ein Beispiel wie ich die Widgets für ein Select-Feld und ein Passwortfeld einsetze: https://github.com/fabil/UberspaceMP...aceMPC.php#L82

    Das eigentliche für die Input-Felder beginnt ab Zeile 82 und in Zeile 127 wird jedes Eingabefeld validiert. Den Code habe ich so direkt aus einem Core-Modul kopiert. Also wenn du mal verstehen willst, wie etwas funktioniert, schaue im Core nach. :-)

    Beispiel im Core von dem Kommentarmodul: https://github.com/contao/core/blob/...ments.php#L180

    Viele Grüße
    Fabi
    Github-Account: https://github.com/fabil

  6. #6
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Entlcih jemand der es liest

    naja die Formularfelder ansich erstelle ich ja mit den normalen Formulareditor von Contao. Die Validierung kann auch ganznormal von Contao bleiben. Es geht mir halt echt nur darum das ich am besten per Modul "die Email anpassen kann, sprich wo welches Feld in der Email steht"

    Also müsste ich ja quasi so vorgehen:

    1. Formular erstellen
    2. Kein hacken bei "Per E-Mail versenden")
    3. Artikel -> Formular einfügen, darunter das Modul ws mir die E-Mail zusammenbaut

    Ich muss ich halt im Modul prüfen könne ob dasFormular mit dein Felder Fehler enthält, wenn ja darf keine Mail versendet werden.

    Wie bekomm ich nun die Standart-Contao-Validierung in mein Modul?

  7. #7
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Mhm, du hast also folgendes gemacht:
    • Im Formulargenerator ein Formular erstellt, welches jedoch *nicht* die Eingaben als E-Mail verschickt.
    • Du willst ein zusätzliches Modul in die Seite einbinden, welches die Eingaben validiert und bei einer erfolgreichen Validierung dann eine E-Mail verschickt.


    Ich glaube, dass was du machen willst kannst du mit der efg-Erweiterung erledigen. Dort kannst du eine E-Mail mit deinem Wunschaussehen erstellen. Diese Erweiterung erweitert die Funktionen des Standard-Formulargenerators.
    Hier der Link: https://contao.org/de/extension-list...000019.de.html

    Welche Contao-Version setzst du ein? Denn diese Erweiterung funktioniert relativ gut mit Contao 3.1, hat jedoch beim Dateiupload noch Probleme. Solange du keine Dateiuploads brauchst, müsste es auch unter Contao 3.1.XX funktionieren. Unter Contao 3.0.XX läuft die Erweiterung problemlos.

    Bei weiteren Fragen, einfach fragen
    Github-Account: https://github.com/fabil

  8. #8
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Also solange du die Bilderauswahl nicht bei efg einsetzten musst, funktioniert diese Erweiterung auch problemlos unter Contao 3.1+.

    Gute Anleitungen für EFG: http://www.tl-usertreffen.weitzeldes...wendungen.html


    Folgendes hat der Entwickler zu dem Problem unter Cto3.1 geschrieben:
    Hallo zusammen,

    das Bildauswahl-Menü (bzw. die Dateiauswahl im Backend) des EFG 2.0.1 funktioniert nicht unter Contao 3.1.1
    Nicht zuletzt deshalb ist EFG für die 3.1.1 noch nicht freigegeben.

    ... und nein, ich weiß noch nicht definitiv wann...

    Ich selbst setze EFG 2.0.1 zwar auch schon unter 3.1.1 ein, aber mit gewissen Einschränkungen:
    - Bild-/Dateiauswahl, wie beim Bildauswahl-Menü oder beim CSV-Import funktioniert nicht
    - je nach System-Einstellungen bzgl. des "Internernen Cache" kann es sein, dass nach Änderungen eines Formulars (oder nach Installation des EFG) jeweils dieser Cache neu aufgebaut werden muss (-> Systemwartung)

    Schöne Grüße
    Tom

    Siehe: https://community.contao.org/de/show...l=1#post281217
    Github-Account: https://github.com/fabil

  9. #9
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Nutze noch 3.1.1 wollte demnächste auf 3.1.5 updaten.

    Wenn ich efg installiere will kommt

    efg | 2.0.1 stable | 6 | Installieren | Nicht erprobt für Contao 3.1.1

    Ist das schlimm? net das ich jetzt mein installation damit zerschieße

  10. #10
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Ich hatte - trotz den Meldungen - keine Probleme bei 3 Websites von mir.

    Aber lege allgemein vor jeglichen Änderungen immer Backups an. Egal was du hinzufügst oder entfernst
    Github-Account: https://github.com/fabil

  11. #11
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Also du hast mir damit schon mal sehr geholfen.

    E-Mail lassen sich das ja ganz einfach anpassen, das ist spitze.

    Leider ist es bei uns so das wir oftmals nach "KundenMails" suchen müssen, von daher wäre es schön wenn man den Betreff und Absender anpassen könnte

    Jetzt: Betreff + E-Mail Systemadmin

    Wir müssten aber: Name + E-Mail (aus Formular) haben.

    Geht das auch? Oder nur in der Bestätigungsmail? Eventuell ein Hook?

  12. #12
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Wenn du das Feld unter dem eindeutigen Namen "email" angelegt hast, in der der Nutzer seine E-Mail-Adresse einträgst, kannst du diese im Betreff einfügen.
    Und wenn der Name der Person im Feld namens "name" einegtragen wird, kann dein Betreff so aussehen:

    Beispiel: "Formular: {{form::name}} {{form::email}}"

    Gesendet von meinem Nexus 5 mit Tapatalk
    Github-Account: https://github.com/fabil

  13. #13
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Zitat Zitat von fabil Beitrag anzeigen
    Wenn du das Feld unter dem eindeutigen Namen "email" angelegt hast, in der der Nutzer seine E-Mail-Adresse einträgst, kannst du diese im Betreff einfügen.
    Und wenn der Name der Person im Feld namens "name" einegtragen wird, kann dein Betreff so aussehen:

    Beispiel: "Formular: {{form::name}} {{form::email}}"

    Gesendet von meinem Nexus 5 mit Tapatalk

    Jo das hab ich nach mein Beitrag auch rausbekommen, das ist echt cool

    WEnn ich jetzt noch hinbekomme das der Absender nicht der Systemadmin ist wäre es echt zu 100% erstklassig.

    Kann man das eventuell per Hook machen (siehe link)
    http://www.tl-usertreffen.weitzeldesign.com/efg-6.html

    muss man das zwangsläufig in en efg modul ordner packen oder könnte man das auch in ein eigenes?

  14. #14
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Normalerweise brauchst du das garnicht machen, da Contao automatisch die Absenderemail (muss email heißen) in das Reply-To-Feld setzt. So antwortest du dann normalerweise direkt an den Absender.

    Folgendes hat der Entwickler von efg mal geschrieben:

    "
    nein, der Hack ist nach wie vor nicht "nötig".
    Der Absender der Mail sollte tunlichst nur dann geändert werden, wenn ein Mail-Versand bei Deinem Provider / Server tatsächlich mit beliebigen Mail-Adressen zulässig ist.
    (Eigentlich ist es abgesehen von evtl. technischem Problem - Mailversand wird ggf. verweigert - auch inhaltlich nicht korrekt. Wenn ich auf Deiner Website ein Kontaktformular ausfülle, habe ich doch keine Mail gesendet?)

    Es sollte vielmehr das Formularfeld für die Mail-Adresse des Besuchers/Anfragenden 'email' (exakt so, nur Kleinschreibung, kein Bindestrich) benannt werden. Dadurch wird sowohl beim Contao Standard-Mailversand als auch bei den EFG-Mails diese Mail-Adresse als "Antwort an" (Reply-To)-Adresse verwendet.

    Wenn Du dennoch den Absender ändern möchtest (Mail-Adresse des Fomular-Ausfüllers als Absender-Adresse), dann solltest Du es (da updatesicher) wie von blue12 beschrieben umsetzen. Einen kleinen (eher theoretischen) Haken hat auch diese Lösung:
    Da innerhalb des Scripts die global geänderte Admin-Mail-Adresse nicht zurückgesetzt wird, würde auch ein weiterer Mailversand (z.B. per Hook integrierte zusätzliche Mail an wen auch immer) die manipulierte Adresse als Absender verwenden.

    Schöne Grüße
    Thomas"

    Ansonsten musst du das selber programmieren. Ein Beispiel hast du ja schon. Am besten ist es bezüglich der Updatefähigkeit in ein eigenen Modulordner auszulagern.

    Viele Grüße
    Fabi

    Gesendet von meinem Nexus 5 mit Tapatalk
    Github-Account: https://github.com/fabil

  15. #15
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Ok. Na ich werd mal so den Mitarbeiter erklären.
    Sie meinten halt nur das es besser wäre wenn die email mit da als absender steht. Da sie oft nach email adressen im email programm suchen.

    Aber naja müsste ja dennoch gehen da die mail ja auch im text steht.

    Aber vielen dank für die hilfe :-)

    P.s. gibt es auch ein tutorial fur die efg html Template ? Würde gern in verschiedenen templates eine css datei einbinden. Oder lieber doch direkt ins template?

  16. #16
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Zitat Zitat von Ralf2011 Beitrag anzeigen
    Ok. Na ich werd mal so den Mitarbeiter erklären.
    Sie meinten halt nur das es besser wäre wenn die email mit da als absender steht. Da sie oft nach email adressen im email programm suchen.
    Die könnten doch einfach den Betreff nach der E-Mail-Adresse durchsuchen. Mit meinem Beispiel weiter oben, wo ich dir gegeben habe, wird die E-Mail-Adresse auch im Betreff genannt.

    Ansonsten müsstest du wirklich ein Modul für die Änderung schreiben.


    Zitat Zitat von Ralf2011 Beitrag anzeigen
    P.s. gibt es auch ein tutorial fur die efg html Template ? Würde gern in verschiedenen templates eine css datei einbinden. Oder lieber doch direkt ins template?
    Da habe ich auf die schnelle leider keines gefunden. Du brauchst aber auch nur ein .html-Dokument anlegen und dies dort referenzieren. Falls in dem HTML-Dokument auch Inserttags drin sind, werden diese ja normalerweise ersetzt.

    CSS sollte unbedingt ins Template direkt rein, ohne externe Verlinkung auf ein CSS. Geht bei E-Mails glaub auch nicht anders.
    Eine Grundlage für das HTML-Emailtemplate würde ich das hier einsetzteN. http://htmlemailboilerplate.com/

    Viele Grüße
    Github-Account: https://github.com/fabil

  17. #17
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Zitat Zitat von Ralf2011 Beitrag anzeigen
    Ok. Na ich werd mal so den Mitarbeiter erklären. Sie meinten halt nur das es besser wäre wenn die email mit da als absender steht. Da sie oft nach email adressen im email programm suchen.
    Die könnten doch einfach den Betreff nach der E-Mail-Adresse durchsuchen. Mit meinem Beispiel weiter oben, wo ich dir gegeben habe, wird die E-Mail-Adresse auch im Betreff genannt.Ansonsten müsstest du wirklich ein Modul für die Änderung schreiben.
    Zitat Zitat von Ralf2011 Beitrag anzeigen
    P.s. gibt es auch ein tutorial fur die efg html Template ? Würde gern in verschiedenen templates eine css datei einbinden. Oder lieber doch direkt ins template?
    Da habe ich auf die schnelle leider keines gefunden. Du brauchst aber auch nur ein .html-Dokument anlegen und dies dort referenzieren. Falls in dem HTML-Dokument auch Inserttags drin sind, werden diese ja normalerweise ersetzt.CSS sollte unbedingt ins Template direkt rein, ohne externe Verlinkung auf ein CSS. Geht bei E-Mails glaub auch nicht anders.Eine Grundlage für das HTML-Emailtemplate würde ich das hier einsetzteN. http://htmlemailboilerplate.com/Viele Grüße
    Github-Account: https://github.com/fabil

  18. #18
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Nochmal zum E-Mail Absender. Der Chef würde es dennoch gern geändert haben, da wenn man auf Antworten klickt, unten im E-Mail text

    "Original Nachricht"
    Absender: systemadmin-email steht.

    Das könnte zur Verwirrung der Kundenführen

  19. #19
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Hallo,

    ich habe das auch so versucht (also in der Klasse, die ich verwende)


    PHP-Code:

    $email
    =new Email();
    $email->from                = \Input::post('email');
    $email->fromName            'Test Absender';
    $email->subject                'Test-Nachricht';
    $email->text                 'Lorem ipsum...... usw.';
    $email->sendTo('meine@email.de'); 
    und vorher wird per

    use Contao\Email;

    die Email-Klasse mit geladen.

    Es kommt beim Versenden des Formulares kein Fehler, aber die Email kommt leider auch nicht an.


    Thomas

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •