Afox Posted February 7, 2019 Posted February 7, 2019 Hallo, ich würde gerne sämtlichen E-Mail-Verkehr einer bestimmten Adresse an eine Remote-Adresse (http://www.domain.com/api/api-script) pipen. Wie kann ich das am Froxlor-verträglichsten umsetzen? Eine Weiterleitung mit der URL darin wird wohl nicht funktionieren gehe ich mal davon aus. Außerdem fände ich in dem Fall nicht so gut, dass die Mail dann doppelt vorhanden wäre. Gruß, Afox
d00p Posted February 10, 2019 Posted February 10, 2019 19 minutes ago, Afox said: also nur nochmal zur Vollständigkeit: die oben gepostete htaccess war in Ordnung und wahrscheinlich auch kompatibel mit Apache 2.4? sollte ja 19 minutes ago, Afox said: Wie man $data anzeigen lassen kann muss ich erst herausfinden file_put_content('tmp/testmail', $data); ?
Afox Posted February 10, 2019 Author Posted February 10, 2019 undefined variable data. ich bin kein PHP-Programmierer ?
d00p Posted February 10, 2019 Posted February 10, 2019 ohwe, nur copy'n'paste code einfach eingesetzt xD ai ai ai direkt nach: $data=file_get_contents('php://stdin') or die('Error reading stdin. No message'); - dann ist $data auch defined
Afox Posted February 10, 2019 Author Posted February 10, 2019 jepp, bin n00b. Muss ich leider zugeben. Bekomme eine leere Datei und ein Fehler Command died with status 255 (...)Command output: PHP Parse error: syntax error, unexpected 'set_time_limit' (T_STRING) so schaut´s aus $data=file_get_contents('php://stdin') or die('Error reading stdin. No message'); file_put_contents('tmp/testmail', $data); #set timeout set_time_limit(10);
d00p Posted February 10, 2019 Posted February 10, 2019 zum einen am besten /tmp/testmail, nicht tmp/testmail zum anderen sehe ich da in dem part jetzt keinen syntax-error... aber kommentare macht man normal mit // oder /* kommentar */ - mit der raute is schon ewig nicht gern gesehen
Afox Posted February 10, 2019 Author Posted February 10, 2019 ja habe beides probiert /tmp und nur tmp. ist nicht mein Skript deshalb bin ich da entspannt
d00p Posted February 10, 2019 Posted February 10, 2019 naja, ob /tmp/ oder tmp/ ändert nix am angeblichen syntax-error...Du hast vermutlich aus dem Forum einfach rauskopiert, genau das habe ich auch gemacht - und auch den syntax error erhalten...entferne mal die überschüssigen leerzeichen hinter dem semikolon in der file_put_contents zeile...das hat bei mir geholfen
Afox Posted February 10, 2019 Author Posted February 10, 2019 omg, wegen so etwas jetzt klappt es auch bei mir
Afox Posted February 10, 2019 Author Posted February 10, 2019 so schaut die Mail aus (DKIM nach dem Received Teil habe ich entfernt) From sender@domain.tld Sun Feb 10 21:14:35 2019 Received: from somepc (unknown [#IP#]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailserver.domain.tld (Postfix) with ESMTPSA id C9BB0100AF9 for <recipient@domain.tld>; Sun, 10 Feb 2019 21:14:35 +0100 (CET) Message-ID: <somelettersandnumbers@domain.tld> Subject: Test From: "domain.tld" <sender@domain.tld> To: recipient@domain.tld Date: Sun, 10 Feb 2019 21:14:34 +0100 Content-Type: text/plain User-Agent: xxx MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Test
d00p Posted February 10, 2019 Posted February 10, 2019 okay, also es kommt ein korrekte mal da an - dann schau doch mal ob du an die direkte URL (ohne rewrite gedöns) posten kannst und er tut was er tun soll
Afox Posted February 10, 2019 Author Posted February 10, 2019 also soll ich direkt an eine, nennen wir sie "pipe.php", Datei posten und die url dahingehend ändern?
d00p Posted February 10, 2019 Posted February 10, 2019 Ja, die URL http://myurl.tld/api/tickets.email geht ja nur das rewrite und wird ja auf irgendwas aufgelöst , z.B. http://myurl.tld/api/http.php/tickets.email (k.A. ob ich da jetzt richtig liege, rewriterules ausm kopf auflösen sind jetzt auch nich so mein ding :P)
Afox Posted February 10, 2019 Author Posted February 10, 2019 Quote cannot open input sagt er mir jetzt in einer MAILER-DAEMON Nachricht
d00p Posted February 10, 2019 Posted February 10, 2019 dann war meine auflösung vllt nicht ganz korrekt...k.A. scchau mal wie die http.php liegt und was die so als input haben will (parameter oder so)
Afox Posted February 10, 2019 Author Posted February 10, 2019 ok, also ich glaube das war ein 200 Status
Afox Posted February 10, 2019 Author Posted February 10, 2019 Quote "POST /api/pipe.php HTTP/1.1" 200 275 "-" "Ticket API Client" heißt das dann es es liegt ein Fehler in der Ticket-Software?
d00p Posted February 10, 2019 Posted February 10, 2019 naja, das heisst erstmal nunr das der webserver api/pipe.php gefunden hat und die ausführung keinen internen fehler ausgeworfen hat....garantiert natürlich nich das das ding exakt das gemacht hat was es soll. Ich kenn halt das script nich und das projekt was da dahintersteckt was du einsetzt, daher ist hier hilfe eher schwierig
Afox Posted February 10, 2019 Author Posted February 10, 2019 https://github.com/osTicket/osTicket/tree/develop/api
d00p Posted February 10, 2019 Posted February 10, 2019 Laut htaccess geht er ja auf http.php und nicht auf pipe.php...das scheint aber in deinem fall (lokal) korrekt zu sein, allerdings nur wenn du nicht via URL zugreifst, probier doch mal an /pfad/zu/osTicket/api/pipe.php weiterzuleiten Allerdings ist das zeug da alles JAHRE alt...ich bin nicht sicher in wieweit das halt mit modernem PHP noch tut....ich seh da echt altes zeug...(z.B. funktions-deklarationen ohne sichtbarkeit etc.)
Afox Posted February 10, 2019 Author Posted February 10, 2019 ehm, mein Fall ist aber remote, also ich komme von einem externen Mailserver der die Mail wie hier in diesem Thema beschrieben an die automail.php (https://github.com/osTicket/osTicket/blob/develop/setup/scripts/automail.php) weiterleitet und die automail.php sollte dann eigentlich alles erledigen. Scheint ja nicht so ganz zu klappen bisher Also soll ich in Froxlor eine Weiterleitung von http.php nach pipe.php machen oder wie meintest du?
d00p Posted February 10, 2019 Posted February 10, 2019 Just now, Afox said: Also soll ich in Froxlor eine Weiterleitung von http.php nach pipe.php machen oder wie meintest du? Nein natürlich nicht - das eine ist für den aufruf via HTTP protokoll, das andere via Shell...du willst als auf http.php POST'en und nicht auf pipe.php Vllt fragst du da aber dann besser mal in osTicket foren ... das wird hier langsam sehr speziell und der Fehler liegt dabei nicht bei froxlor
Afox Posted February 10, 2019 Author Posted February 10, 2019 ja I know, wollte dich auch eigentlich nicht im Detail damit belasten.
Afox Posted February 10, 2019 Author Posted February 10, 2019 wenn ich an die http.php gehe kommt halt ein 400 Status
d00p Posted February 10, 2019 Posted February 10, 2019 400 -> Bad Request - da scheint ihm halt was nicht zu passen, vllt fehlt ein bestimmter header oder sonstwas, k.A. - das müssten die osTicket jungs besser wissen
Question
Afox
Hallo,
ich würde gerne sämtlichen E-Mail-Verkehr einer bestimmten Adresse an eine Remote-Adresse (http://www.domain.com/api/api-script) pipen.
Wie kann ich das am Froxlor-verträglichsten umsetzen?
Eine Weiterleitung mit der URL darin wird wohl nicht funktionieren gehe ich mal davon aus. Außerdem fände ich in dem Fall nicht so gut, dass die Mail dann doppelt vorhanden wäre.
Gruß,
Afox
52 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.