Jump to content
Froxlor Forum

Afox

Members
  • Posts

    190
  • Joined

  • Last visited

Posts posted by Afox

  1. 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

     

  2. 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);

     

  3. #!/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);
    ?>

     

  4. 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.

  5. 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:

    Quote

    Got error 'Primary script unknown\n'

    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.

  6. 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

  7. 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.

  8. 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.

    
     

     

  9. 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

  10. 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

  11. gibt es eine Möglichkeit das für alle Domains eines Kunden nachträglich einzustellen? Ich habe in den Webservereinstellungen den Standard geändert, die Kundendomains stehen auf -- Default. Dennoch steht in der Config ein 301 :(

    PS: Master-Cronjob habe ich natürlich ausgeführt

  12. hallo nochmal,

    mittlerweile bin ich mir nicht mehr allzu sicher ob die Weiterleitung das Richtige für meine Situation ist, da scheinbar von Froxlor ein 301 ohne Zusatz in Form von Cache-Control gesetzt wird, was bedeutet dass dies ein permanenter Redirect ist.

    Ich möchte aber eigentlich weiterhin die Möglichkeit haben jederzeit den Ort des Redirects noch einmal zu verändern. Hat jemand zufällig noch eine Idee wie ich das am besten einstellen könnte?

    Danke und Gruß,

    Afox

  13. Hi,

    ich plane meine bestehenden Froxlor Installationen auf neue Debian Stretch Systeme umzuziehen, welche die selbe IP haben werden wie die alten Systeme.

    Die bestehenden Systeme haben Domains bei denen Let´s Encrypt aktiviert ist.

    Nun frage ich mich:

    • Könnte das ein Problem auf dem neuen System werden, wenn ich dort für die selben Domains Let´s Encrypt aktiviere und somit erneut ein Zertifikat angefordert wird?
    • Nimmt die neue Import/Export Funktion auch Let´s Encrypt Zertifikate mit oder ist das nicht notwendig (siehe meine Frage oben)?

    Danke und Gruß,

    Afox

×
×
  • Create New...