abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:00 | Nová verze

    Byla vydána nová verze 26.6.25 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | IT novinky

    V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.

    Ladislav Hagara | Komentářů: 2
    včera 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

    Ladislav Hagara | Komentářů: 0
    25.6. 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    25.6. 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 3
    25.6. 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    25.6. 11:11 | Zajímavý software

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

    Ladislav Hagara | Komentářů: 0
    24.6. 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 27
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 1997 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Postfix: Spuštění skriptu po příjmu e-mailu

    3.4.2020 19:28 Milan | skóre: 1
    Postfix: Spuštění skriptu po příjmu e-mailu
    Přečteno: 289×

    Zdravím

    Nainstaloval jsem si Amavis na mailserveru (Debian10 / Postfix) podle těchto návodů:
    https://www.lomitkari.cz/2015/04/07/postfix-a-amavis-jak-nainstalovat-a-nakonfigurovat/
    https://www.abclinuxu.cz/clanky/site/stavime-postovni-server-10-spam-plus-viry

    Všechno funguje jak má.


    Pak jsem chtěl přidat ještě něco, co mi při každém příjmu e-mailu spustí nějaký skript.
    To jsem zkusil zprovoznit podle tohodle návodu:
    https://thecodingmachine.io/triggering-a-php-script-when-your-postfix-server-receives-a-mail

    Po drobných problémech s právy jsem ten návod taky rozchodil (při příjmu e-mailu se skutečně skript spustil).

    Problém je ale v tom, že se pak se ten přijatý e-mail ztratí.
    Nedorazí do příslušné schránky a ani ho nevidím v "queue" (po zadání příkazu postqueue -p).


    Hledal jsem tedy dál a zjistil jsem, že se musí ty filtry (Amavis a ten spouštěný skript) nějak řetězit.
    Pravděpodobně by to mělo být něco jako tady v tom dotazu:
    https://stackoverflow.com/questions/22629339/configure-second-content-filter-with-amavis

    Jenže s tím už si nedokážu poradit. Asi vůbec nechápu to předávání zpráv přes porty a sockety.
    Můžete mi někdo poradit, jaké porty mám nastavit v tom souboru /etc/postfix/master.cf ?

    Zatím to mám takhle:
    /etc/postfix/main.cf
    -----------------------------------------

    content_filter = smtp-amavis:[127.0.0.1]:10024

    -----------------------------------------




    /etc/postfix/master.cf
    (ve stavu, kdy se spouští skript, ale ztrácí se e-maily)
    -----------------------------------------

    smtp-amavis unix    -       -       n       -       2     smtp
     -o smtp_data_done_timeout=1200
     -o smtp_send_xforward_command=yes
     -o disable_dns_lookups=yes
     -o max_use=20

    127.0.0.1:10025 inet n    -       n       -       -     smtpd
     -o smtpd_delay_reject=no
     -o smtpd_client_restrictions=permit_mynetworks,reject
     -o smtpd_helo_restrictions=
     -o smtpd_sender_restrictions=
     -o smtpd_recipient_restrictions=permit_mynetworks,reject
     -o smtpd_data_restrictions=reject_unauth_pipelining
     -o smtpd_end_of_data_restrictions=
     -o smtpd_restriction_classes=
     -o mynetworks=127.0.0.0/8
     -o smtpd_error_sleep_time=0
     -o smtpd_soft_error_limit=1001
     -o smtpd_hard_error_limit=1000
     -o smtpd_client_connection_count_limit=0
     -o smtpd_client_connection_rate_limit=0
     -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
     -o local_header_rewrite_clients=
     -o content_filter=emailscript:dummy


    emailscript    unix    -       n       n       -       -       pipe
     flags=F user=trig argv=/home/trig/emscript.php ${sender} ${size} ${recipient}

    #----------------
    # tyhle veci jsem zkousel pridat, ale nefungovalo to
    #127.0.0.1:10099 inet    n       -       n       -       10      smtpd
    #        -o content_filter=emailscript:dummy
    #        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
    #        -o smtpd_helo_restrictions=
    #        -o smtpd_client_restrictions=
    #        -o smtpd_sender_restrictions=
    #        -o smtpd_recipient_restrictions=permit_mynetworks,reject
    #        -o mynetworks=127.0.0.0/8
    #        -o smtpd_authorized_xforward_hosts=127.0.0.0/8

    #127.0.0.1:10097     inet    n   -   n   -    10      smtpd
    #      -o content_filter=emailscript:dummy

     




    -----------------------------------------






    Řešení dotazu:


    Odpovědi

    Řešení 1× (Milan (tazatel))
    Jendа avatar 3.4.2020 19:50 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Postfix: Spuštění skriptu po příjmu e-mailu
    Postfix považuje mail předáním do pajpy za doručený a dál se o něj nestará.

    Možnost 0: možná jde pomocí flagů v master.cf nějak udělat, aby to propadlo dál

    Možnost 1: udělat dva transporty ("emailscript" a "deliver") a mail pomocí aliasů nacpat do obou. Já mám třeba v transport mapě "autoreply.doména.cz vacation:" a maily jdou aliasem do schránky i do schránka@autoreply.doména.cz, kde je žere skript

    Možnost 2: na konci skriptu ručně spustit nějaký maildrop/dovecot-lda, mail mu předat a on to do toho maildiru zapíše.
    4.4.2020 08:54 Milan | skóre: 1
    Rozbalit Rozbalit vše Re: Postfix: Spuštění skriptu po příjmu e-mailu

    Díky za odpověď.

    Body 0) a 2) jsem sice vůbec nepochopil, ale ten bod 1) jsem asi zvládnul.

    Soubor /etc/postfix/master.cf jsem vrátil do původního stavu, kdy se e-maily doručovaly bez problémů.

    Proti tomu výpisu, který jsem uváděl v prvním příspěvku tohoto vlákna jsem tedy upravil řádku:

     -o content_filter=emailscript:dummy


    na původní verzi:

     -o content_filter=


    A smazal jsem celý ten blok "emailscript ...." (2 řádky)




    Pak jsem do souboru /etc/aliases přidal tohle:

    msk:          msk@domena.cz             , "| /home/msk/emascript.php"



    Aktualizoval pomocí:

     newaliases


    A nakonec jsem restartoval Postfix:

     postfix reload


    Zdá se, že to běží.
    E-maily se doručují do schránek a e-maily pro uživatele "msk" zároveň spouští i skript "emascript.php".
    Když je víc uživatelů, tak se každému může spouštět jeho vlastní skript.

    Takhle mi to stačí. Díky.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.