Afox
Members-
Posts
193 -
Joined
-
Last visited
Everything posted by Afox
-
ok, also ich glaube das war ein 200 Status
-
sagt er mir jetzt in einer MAILER-DAEMON Nachricht
-
also soll ich direkt an eine, nennen wir sie "pipe.php", Datei posten und die url dahingehend ändern?
-
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
-
omg, wegen so etwas jetzt klappt es auch bei mir
-
ja habe beides probiert /tmp und nur tmp. ist nicht mein Skript deshalb bin ich da entspannt
-
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);
-
undefined variable data. ich bin kein PHP-Programmierer ?
-
also nur nochmal zur Vollständigkeit: die oben gepostete htaccess war in Ordnung und wahrscheinlich auch kompatibel mit Apache 2.4? Wie man $data anzeigen lassen kann muss ich erst herausfinden.
-
#!/usr/bin/php -q <?php $config = array( 'url'=>'http://myurl.tld/api/tickets.email', 'key'=>'APIKEY' ); #pre-checks function_exists('file_get_contents') or die('upgrade php >=4.3'); function_exists('curl_version') or die('CURL support required'); #read stdin (piped email) $data=file_get_contents('php://stdin') or die('Error reading stdin. No message'); #set timeout set_time_limit(10); #curl post $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $config['url']); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_USERAGENT, 'Ticket API Client'); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Expect:', 'X-API-Key: '.$config['key'])); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $result=curl_exec($ch); curl_close($ch); //Use postfix exit codes...expected by MTA. $code = 75; if(preg_match('/HTTP\/.* ([0-9]+) .*/', $result, $status)) { switch($status[1]) { case 201: //Success $code = 0; break; case 400: $code = 66; break; case 401: /* permission denied */ case 403: $code = 77; break; case 415: case 416: case 417: case 501: $code = 65; break; case 503: $code = 69; break; case 500: //Server error. default: //Temp (unknown) failure - retry $code = 75; } } exit($code); ?>
-
das Skript an das ich die Mail weiterleite piped das Ganze an myurl.tld/api/tickets.email diese URL ist auch mit Froxlor angelegt worden. PHP 7.0 mit PHP-FPM aktiv. mod_rewrite habe ich im Apache (2.4) enabled.
-
ich weiß gerade nicht ob ich wegen dem Folgenden ein neues Thema aufmachen soll. Ich bekomme in diesem Zusammenhang nun einen Fehler auf Seiten der API: die htaccess sieht so aus: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.*/api) RewriteRule ^(.*)$ %1/http.php/$1 [L] </IfModule> Hier (http://www.coders.pro/2017/01/got-error-primary-script-unknown-update-php-fpm-apache-2-4/) wird behauptet, dass wenn man die htaccess umschreibt es wieder funktioniert. Aber damit kenne ich mich überhaupt nicht aus und ich weiß gerade wirklich nicht wie es richtig lauten müsste bzw. ob es überhaupt falsch ist.
-
also ich bin jetzt nochmal bei dem von dir geposteten Ansatz geblieben und muss nochmal eine Verständnisfrage stellen: wenn man z.B. wie dort ${sender} ${size} ${recipient} hinzufügt, heißt das dann dass die original Nachricht verändert wird, also wenn ich diese Parameter weglasse, dann wirklich nur die rohe Nachricht weitergeleitet wird? Oder werden dann wichtige Dinge wie die originalen Sender und Empfänger erst garnicht angefügt? In den man-pages wird das Wort "expand" verwendet was ich so übersetzen würde, dass die Nachricht um diese Dinge erweitert wird. http://www.postfix.org/pipe.8.html
-
ehm, habe ich einen Gedankenfehler oder wäre das dann genauso als würde ich gar keine Weiterleitung anlegen? Weil ich muss ja eigentlich die Nachricht an ein PHP-Skript weiterleiten und die Zustellung an den original Empfänger verhindern.
-
ich bekomme es nicht hin. ich muss die rohe Mail an das Skript übergeben und irgendwie funktioniert das nicht mit dem Ansatz. Natürlich suche ich auch schon den ganzen Tag und manche arbeiten mit einem Eintrag in /etc/aliases, wie z.B. hier: https://serverfault.com/questions/506894/how-to-route-email-to-a-script Aber wenn ich z.B. in Froxlor eine Weiterleitung zu einem lokalen Nutzer "somelocaluser@localhost.localdomain" erstellen würde, wäre ja weiterhin das Problem mit der Doppelung - wenn es überhaupt so funktioniert.
-
wow, vielen Dank! Also arbeite ich mit einer access file und einer Zeile in der ich den "hook" definiere. Noch zwei drei Fragen: Was ist eigentlich der :dummy Parameter? Welcher Nutzer und welcher Speicherort wäre zu empfehlen? Ich dachte an user=froxlor und argv= froxlor-root-Verzeichnis? Gruß, 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
-
nice one still not fully compatible with Debian Stretch, correct?
- 9 replies
-
- stable
- maintenance
-
(and 2 more)
Tagged with:
-
Edit: works.