Schlagwörter: 

Ansicht von 11 Antwort-Threads
  • Autor
    Beiträge
    • #39664
      Heinz Bertold
      Teilnehmer

        Hallo Zusammen,

        ich benötige ein eigenes PreFilterModule um dort eine E-Mail eines bestimmten Empfängers vorab entsprechend zu verarbeiten. Habe mich jetzt mal drangemacht das zu schreiben und bin der offiziellen Anleitung hier gefolgt: https://doc.otobo.de/manual/developer/11.0/en/content/how-to-extend-otobo/otobo-module-layers/ticket-postmaster-modules.html

        Habe Otobo in der Dockerinstallation am laufen und entsprechend die XML und die .pm für das Filtermodul auf dem Host in /opt/otobo-docker/custom/Kernel/Config/Files/XML/MyModule.xml bzw. /opt/otobo-docker/custom/Kernel/System/PostMaster/Filter/Example.pm angelegt und dann entsprechend in einer .yml override als volume gemounted. Beide files sind im Container nun lesbar unter /opt/otobo/Custom/Kernel/System/PostMaster/Filter/Example.pm sowie /opt/otobo/Custom/Kernel/Config/Files/XML/MyModule.xml …

        mein Ziel war erstmal dass ich einfach den Filter zusammenstampf und eine Nachricht ins log schreibe, damit ich weiß dass er überhaupt aufgerufen/verarbeitet wird. Ich sehe leider weder in der Adminoberfläche noch den Systemlogs Hinweise darauf dass mein Modul irgendwo geladen und verarbeitet wird. Maint::Config::Rebuild und Maint::Cache::Delete hatte ich entsprechend schon ausgeführt gehabt. Geht das überhaupt, eigene Module zu schreiben oder lässt die offizielle Anleitung hier wichtige Schritte vermissen?

        Wäre sehr dankbar wenn hier jemand ein bisschen Licht in mein Dunkel bringen kann :)

         

      • #39681
        marcel-graf
        Teilnehmer

          Hallo Heinz,

          eventuell kannst du dein Vorhaben auch anders lösen. Wir nutzen z.B. bei bestimmten Postfächern nicht den Postmaster Filter, sondern lassen die Emails direkt in die Queue’s laufen. Dort greift dann ein Generic Agent und erledigt die Filterung. Als Ereignis Auslöser wird TicketCreate benutzt.

          Eventuell kannst du die Email vorher auch am Mailserver in ein Extra Postfach schieben und dann dieses Postfach mit Otobo abholen. Dazu müsste man aber wissen was genau erreichent werden soll? Es ist sicher auch möglich den Postmaster Filter direkt umzuschreiben, sodass eure Anforderung darin umgesetzt werden.

          Gruß Marcel

        • #39690
          Heinz Bertold
          Teilnehmer

            Hi Marcel,

            danke für deine Antwort. Also Ziel des ganzen ist eigentlich, dass ich einem bestehendes Postfach habe, auf das ich mittels Otobo (aufgrund diversen Gründen innerhalb des Unternehmensauch) nicht direkt zugreifen kann und will. Einzelne Emails aus diesem Postfach sollen aber trotzdem bei mir im Ticketsystem landen. Diese jetzt aber einfach an mein Otobo Postfach weiterzuleiten macht mir meine Header kaputt und ich verliere die ursprünglichen Informationen dazu, es würde aussehen als ob die Anfragen alle vom selben User/Kunden (dem Postfach) kommen. Deshalb war die Idee, die Originalmail als Anhang an mein Otobo Postmaster Postfach zu senden und in einem PreFilter auf den entsprechenden Absender zu filtern, den Anhang (.eml) rausziehen und nur diesen als Ticket verarbeiten zu lassen. Ich habe leider auch keine Möglichkeit das am Mailserver über Konfigurationseinstellungen zu lösen. Mir erschien die Möglichkeit eines eigenen PreFilter Moduls daher ganz geschmeidig, klang auch in der Doku nicht schwer umzusetzen, kriege es nur nicht konfiguriert dass es überhaupt mal aufgerufen wird.

            Grüße

          • #39691
            marcel-graf
            Teilnehmer

              Hallo Heinz, danke für deine Erleuterung. Klingt erstmal etwas kompliziert.

              Gibt es denn die Möglichkeit mit Outlook Regeln in diesem Postfach zu arbeiten?

              Dort eine Regel erstellen, die eine Mail Kopie in einen Unterordner schiebt, dann per IMAP den Unterordner in Otobo abholen.

               

               

            • #39692
              Heinz Bertold
              Teilnehmer

                Leider nein, das besagte Postfach ist eine Shared Mailbox (on prem) und ich kann nix am Exchange drehen, also demnach nicht direkt aus diesem Postfach/Unterordner abholen. So zumindest mein Wissensstand. Deshalb hab ich nach einer „einfachen“ Lösung in Otobo gesucht. Im Prinzip muss ich bei meiner angedachten Lösung einfach nur bei einem bestimmten Absender nicht aus der Originalmail die im Otobo Postmaster Postfach landet, sondern aus deren Anhang das Ticket erstellen.

              • #39693
                Stefan Rother
                Administrator

                  Hallo Heinz,

                  siehst Du unter Admin -> Systemkonfiguration Deine neue Konfiguration? Falls ja, stell gerne mal ein Screenshot hier ein.

                  Und was genau passiert solltest Du eigentlich in dem Ticket in AgentTicketZoom sehen. Dort gibt es ein „Message Log“ bei der Artikel Optionen und sollte genau zeigen, ob der Filter geladen wird (Eventuell LogLevel in der SysConfig auf „Debug“ stellen).

                  Ich hoffe ich konnte helfen!

                  Stefan

                   

                   

                • #39694
                  marcel-graf
                  Teilnehmer

                    Man kann das Shared Postfach im  Outlook Web öffnen und dort entsprechende Regeln setzen, sofern man die Rechte darauf hat.

                  • #39699
                    Heinz Bertold
                    Teilnehmer

                      Hi Stefan,

                      danke erstmal für die neuen Ideen. Leider sehe ich unter Systemkonfiguration da nichts auftauchen. Hätte es unter Core->Email->Postmaster erwartet, da ist aber leider nix ausser die ganzen Standard Module wie z.B. PostMaster::PreFilterModule###1-Match usw. Habe nun 1:1 das example angelegt um auszuschließen dass ich selbst irgendeinen Fehler eingebaut hab. Also liegen dementsprechend wie beschrieben direkt im Docker Container die Files unter  /opt/otobo/Custom/Kernel/Config/Files/XML/MyModule.xml und /opt/otobo/Custom/Kernel/System/PostMaster/Filter/Example.pm mit den jeweiligen Inhalten aus dem Beispiel. Wenn ich das richtig verstanden habe müssten diese ja vom System erkannt werden und ich müsste unter Email->Postmaster etwas sehen wie ###1-Example ?

                      Ich prüfe mal das logLevel in der SysConfig und schau ob ich die Option AgentTicketZoom finde.

                    • #39700
                      Heinz Bertold
                      Teilnehmer

                        Also in meinem Test-Ticket selbst finde ich hier auch keine Hinweise darauf dass das PreFilter Modul ausgeführt wurde:

                        Screenshot von Kommunikationsprotokoll

                         

                        Scheinbar wird die Config/Modul einfach nicht geladen vom System. Gibt es eine Möglichkeit diese „manuell“ irgendwie bekannt zu machen, bzw. was könnte hier nicht passen sodass das Custom Modul garnicht geladen / erkannt wird vom System?

                      • #39701
                        Stefan Rother
                        Administrator

                          Guten Morgen,

                          dann kommen wir weiter. Mounte die Datei bitte mal nach Kernel/Config/Files/XML/MyModule.xml (nicht Custom/Kernel) und überprüfe danach, ob die Datei auch wirklich lesbar und am richtigen Ort liegt im Container. Also Wechsel in den Container und öffne die Datei in einem Editor.

                          Wenn das alles passt, nochmal bin/otobo.Console.pl Maint::Config::Rebuild ausführen.

                          Wenn Du die Option nicht in der Suche findest, dann wurde sie auch nicht geladen.

                          Schöne Grüße,

                          Stefan

                        • #39709
                          Heinz Bertold
                          Teilnehmer

                            Danke für die Antwort Stefan,

                            denke zumindest einen kleinen Schritt bin ich nun weiter. Ich habe meine XML jetzt neu erstellt mit anderem Namen und direkt in Kernel/Config/XML abgelegt und die .pm dazu in Custom/Kernel… beim rebuild bekomme ich nun folgenden Fehler: Message: Old ConfigItem PostMaster::PreFilterModule###999-EMLPreFilter detected in EMLPreFilter.xml!

                            Vielleicht passt was am Inhalt nicht? So sieht die aktuell aus:

                            <?xml version=“1.0″ encoding=“utf-8″ ?>
                            <otobo_config version=“2.0″ init=“Framework“>

                            <ConfigItem Name=“PostMaster::PreFilterModule###1-EMLPreFilter“ Required=“0″ Valid=“1″>
                            <Description Translatable=“1″>Custom module test</Description>
                            <Group>Ticket</Group>
                            <SubGroup>Core::PostMaster</SubGroup>
                            <Setting>
                            <Hash>
                            <Item Key=“Module“>Kernel::System::PostMaster::Filter::EMLPreFilter</Item>
                            <Item Key=“Match“>
                            <Hash>
                            <Item Key=“From“>postfachname@</Item>
                            </Hash>
                            </Item>
                            </Hash>
                            </Setting>
                            </ConfigItem>

                            </otobo_config>

                             

                            in der EMLPreFilter.pm entsprechend dazu den Package-Namen: package Kernel::System::PostMaster::Filter::EMLPreFilter;

                          • #39809
                            Heinz Bertold
                            Teilnehmer

                              Jemand eine Idee an was das liegen könnte, dass scheinbar beim laden des Moduls immer der Fehler kommt: Old ConfigItem PostMaster::PreFilterModule###999-EMLPreFilter detected in EMLPreFilter.xml!

                              Dies ist unabhängig von der id (###999-xxx). Egal was ich hier einsetz, scheinbar gibt es schon immer einen scheinbar „alten“ Eintrag dazu, oder wie ist das zu verstehen?

                          Ansicht von 11 Antwort-Threads
                          • Du musst angemeldet sein, um auf dieses Thema antworten zu können.