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 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 5
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    16.7. 16:22 | IT novinky

    Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.

    Ladislav Hagara | Komentářů: 26
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (15%)
     (15%)
     (8%)
     (0%)
     (0%)
     (8%)
     (0%)
     (54%)
    Celkem 13 hlasů
     Komentářů: 3, poslední včera 17:26
    Rozcestník

    Dotaz: jak spustit script při doručení mailu v postfixu

    3.5.2010 19:19 PavelM
    jak spustit script při doručení mailu v postfixu
    Přečteno: 1053×
    Zdravim, potřeboval bych vždy když se doručí nějaký mail na muj server spustit script. Nevíte někdo jak na to? Dík za rady (používám postfix a ubuntu)

    Odpovědi

    3.5.2010 22:09 faha
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Pres .forward by to neslo udelat? Resi se takto obcas napr.autoreply (vacation)
    4.5.2010 09:24 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    No asi nejak tak jo, ja jsem nasel zminku o spusteni skriptu zde: http://www.postfix.org/VIRTUAL_README.html#autoreplies ale je tam jen uvedeno ze se spusti nejaky skript, nicmene jak na to už jsem nenašel (nebo nepochopil), jesli někdo má nějaký zajimavý zdroj nebo info budu moc vděčen.
    4.5.2010 21:04 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Hľadaj procmail a jeho konfigurák procmailrc. Ako to už býva, je to mocný nástroj, len sa treba naučiť, ako ho používať.
    the.max avatar 4.5.2010 21:07 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    ...a nebo maildrop. Oproti procmailu ma daleko jednodussi syntaxi zapisu pravidel a da se v tom daleko lepe orientovat.
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    4.5.2010 09:24 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    No asi nejak tak jo, ja jsem nasel zminku o spusteni skriptu zde: http://www.postfix.org/VIRTUAL_README.html#autoreplies ale je tam jen uvedeno ze se spusti nejaky skript, nicmene jak na to už jsem nenašel (nebo nepochopil), jesli někdo má nějaký zajimavý zdroj nebo info budu moc vděčen.
    4.5.2010 12:48 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Jedna z variant je třeba tato:

    1. master.cf autoreply unix - n n - - pipe flags= user=admin argv=/usr/local/postfix/script/auto_reply.pl $sender $mailbox $size

    2. transport autoreply.domena.cz autoreply;

    3. virtual info@domena.cz info, info@domena.cz@autoreply.domena.cz

    4. autoreply.pl např #!/usr/bin/perl $sender = @ARGV[0]; $mailbox = @ARGV[1]; $size = @ARGV[2]; ..........................
    4.5.2010 16:17 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Tak jsem něco zkusil a nic. Jde mi o to aby se do souboru /pokus.txt zapisovali tyto dve informace: $sender $mailbox(nic vic) Takze:
    1) do souboru main.cf jsem pridal radky:
    transport_maps = hash:/etc/postfix/transport
    virtual_alias_maps = hash:/etc/postfix/virtual_alias
    
    master.cf vypada takto:
    ...
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    autoreply unix  -       n       n       -       -       pipe    flags= user=root argv=/pokus.sh $sender $mailbox
    smtp      inet  n       -       -       -       -       smtpd
    #submission inet n       -       -       -       -       smtpd
    ...
    
    a do /etc/postfix/transport jsem zapsal toto:
    autoreply.mojedomena.cz  autoreply:
    
    a /etc/postfix/virtual_alias takto:
    pokus@mojedomena.cz xpokus@mojedomena.cz, pokus@mojedomena.cz@autoreply.mojedomena.cz
    
    /pokus.sh vypada takto:
    echo "$sender $mailbox" >> /vystup.txt
    
    Postmap jsem zavolal jak na virtual_alias tak na transport, pak jsem postfix restartoval. Ale nic se nedeje - soubor vystup.txt je prazdny. K :-( dyz si poslu mail tak log vypada takto:
    May  4 16:01:07 mail2 postfix/smtpd[9558]: connect from 12-345-678-910.static.masterinter.net[12-345-678-910]
    May  4 16:01:07 mail2 postfix/smtpd[9558]: 5EADE300063: client=12-345-678-910.static.masterinter.net[12-345-678-910]
    May  4 16:01:07 mail2 postfix/cleanup[9562]: 5EADE300063: message-id=<14d64ce39f9eed86def16d263ed149fa@localhost>
    May  4 16:01:07 mail2 postfix/qmgr[9471]: 5EADE300063: from=nekdo@mujweb.cz, size=695, nrcpt=2 (queue active)
    May  4 16:01:07 mail2 postfix/smtpd[9558]: disconnect from 12-345-678-910.static.masterinter.net[12-345-678-910]
    May  4 16:01:07 mail2 postfix/qmgr[9471]: warning: connect to transport private/autoreply: No such file or directory
    May  4 16:01:07 mail2 postfix/virtual[9563]: 5EADE300063: to=xpokus@mojedomena.cz, orig_to=pokus@mojedomena.cz, relay=virtual, delay=0.24, delays=0.14/0.01/0/0.1, dsn=2.0.0, status=sent (delivered to maildir)
    May  4 16:01:07 mail2 postfix/error[9564]: 5EADE300063: to=pokus@mojedomena.cz@autoreply.mojedomena.cz, orig_to=pokus@mojedomena.cz, relay=none, delay=0.29, delays=0.14/0.01/0/0.14, dsn=4.3.0, status=deferred (mail transport unavailable)
    May  4 16:02:28 mail2 postfix/anvil[9521]: statistics: max connection rate 1/60s for (smtp:12-345-678-910) at May  4 15:52:28
    May  4 16:02:28 mail2 postfix/anvil[9521]: statistics: max connection count 1 for (smtp:12-345-678-910) at May  4 15:52:28
    May  4 16:02:28 mail2 postfix/anvil[9521]: statistics: max cache size 1 at May  4 15:52:28
    
    
    4.5.2010 16:59 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Když se podíváš dp šestého řádku tvého logu, tak tam vidíš, že předáváš úlohu programu, který ale není na autoreply nastavený, neumí to. V main.cf si nastav mailbox_transport=cyrus, ten si doinstaluj a potom ti vše bude fungovat OK :-)
    4.5.2010 18:35 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    A neni nahodou cyrus POP3/Imap server? Protoze ja mam dovecot a normalen mi funguje. Me tedy neni jasne jakou ulohu jakemu programu predavam, jak to v tom sestem radku vydis ty. Ja tam vidim warning: connect to transport private/autoreply: No such file or directory z cehoz mi prijde ze teda neexistuje soubor private/autoreply (ja moc neumim cist z logu asi). Ja se ale nesnazim o automatickou odpoved, jde mi o to zavolat skript /pokus.sh a do nej strcit rourou $recipient a $mailbox v momente kdy dojde mail na adresu v $recipient. Tak mi prijde divny k tomu instalovat druhý imap/Pop3 server. Omlouvam se za tyto mozná hloupé dotazy... A předem mnohokrát děkuji za cené rady!
    4.5.2010 20:25 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    V tom řádku 6 je pro tebe důležité zejména KDO vlastně hlásí ono "warning: connect...". Je to totiž "postfix/qmgr[9471]..." a to znamená, že jsi nepředal požadavek obecně na správného démona/program, neboť qmgr prostě transport private/autoreplay neumí. Mělo by tam být "postfix/pipe...". Napsal jsem ti v main.cf mailbox_transport cyrus, protože ten běžně používám a uvedená konfigurace je z něj. Pochopitelně stejně to bude fungovat i s Dovecotem... ve tvém případě tě nezajímá funkce pop/imap, ale lokální doručovací agent - je to pěkně popsané tady na serveru abclinuxu od Lukáše Jelínka. Také se nepozastavuj nad tím, že se používá autoreplay. V podstatě si můžeš vybrat víc míst v řetězci zpracování příchozího mailu a spustit nějaký skript téměř dle libosti. Autoreplay je ale dost dobře i na webu dokumentovaný a popisovaný, přijde mi to nejsrozumitelnější. Uvedená konfigurace je funkční a ozkoušená, já jí většinou používám pro posílání zpráv na mobily o příchozí poště.
    4.5.2010 20:54 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Jasně super, tak už to konečně něco začalo dělat :-) už se mi spuští ten muj skript /pokus.sh, ale výstup je trochu podivný: skript pokus.sh:
    #!/bin/bash
    echo "zkouska" >> /vystup.txt
    echo $$mailbox >> /vystup.txt
    echo "$$recipient" >> /vystup.txt
    
    Vysledek - soubor vystup.txt:
    zkouska
    11390mailbox
    11390recipient
    
    Coz teda logicky neni to co bych chtel aby to bylo, mela by tam byt normale adresa doruceni ze.

    A jeste bych se te rovnou rad zeptal jak resis to posilani SMS, mas k serveru pripojen mobil a prez nej, nebo nejak jinak? To budu urcite resit taky, hned jak doresim ty adresy, takze cim vic info (popr odkazu, tim lip) Diky, diky, diky
    4.5.2010 23:35 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Příloha:
    Jsem rád, že se ti to podařilo. Teď jen poznámky:

    1. ten skript ti takhle nemůže fungovat. Službě autoreply v konfigu říkáš, že jako parametry má ke skriptu přidat obsah proměnných $sender,$mailbox,... Čili se provede to, že se spustí např. "skript.sh odes@mail.cz prijem@domena.cz". Pokud chceš tyto dva parametry zpracovat oním skriptem, tak mu nejdřív musíš říct, že si je má z příkazové řádky načíst, podle shellu třeba jako $1, $2,... $$mailbox opravdu není v tomto případě první proměnná na příkazové řádce.

    2. při posílání zpráv na mobily je škoda platit, čili je lepší to posílat mailem jako sms. Je tam sice omezení velikosti, ale pro zprávu od koho a předmět to stačí. Jednoduchou kostru v perlu připojuji.

    5.5.2010 01:23 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Super, tak už mi to běhá, děkuji ti strašně moc, v perlu zatim bohužel neumim. Tak jsem z toho skriptu moc nepochopil, kdo to odešle na ten mobil? Copak se dá funkcí mail poslat sms do všech sítí zadara? To je poslední dotaz - slibuju :-)
    5.5.2010 11:03 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Poslat na mobil mail docela funguje, jen občas to operátorovi trvá dost dlouho, než to proleze drátama :-). Jak přesně tady najdeš v diskuzích, já osobně mám nejraději Vodafone - sms mohou být dost dlouhé. O2 funguje v poho, jen ta délka...

    V tom perlovém skriptu musíš nejdřív načíst parametry z příkazového řádku - $sender a $mailbox. Potom si podle $mailbox - adresy příjemce - vybereš mailovou adresu mobilu, na který to chceš poslat. Takže třeba když jde o mail pro jirku, přiřadíš si adresu jeho mobilu mobil_jirka a někde v aliasech budeš mít "mobil_jirka: +420602323232@sms.cz.o2.com". No a nakonec si to už jen podle libosti poskládáš dohromady do řetězce $posta a pomocí "system($posta)" předáš shellu tvůj příkazový řádek. Jinak řečeno - pošleš mail na adresu tvého mobilu z příkazového řádku. Pochopitelně tohle všechno se dá udělat bez problémů třeba v csh,ksh... jde spíš o zvyk co používat. Jestli chceš vidět ten vygenerovaný příkaz mail, tak si nech string $posta vypsat třeba pomocí "print $posta".
    Ruža Becelin avatar 5.5.2010 11:22 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Jenom poznamka k tomu $$mailbox - expanze $$ vede k vypisu PID + stringu 'mailbox'

    Takze se musi psat pouze echo $mailbox

    To same pro recipient.
    5.5.2010 13:04 Jindra
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Ano, je to přesně tak. Snad jen dodatek pro osvětlení problematiky původnímu tazateli: lokální agent spustí tvůj skript s parametry, které má uložené ve vnitřních proměnných $sender a $mailbox. Výsledkem je příkaz, který jsem již výše psal -

    /pokus.sh odes@mail.cz prijem@domena.cz

    A teď pozor - skript pokus.sh pochopitelně vůbec netuší, že první parametr odes@mail.cz byl vytvořen z jakési proměnné $sender. Jakmile tyto dva parametry na příkazovém řádku načteš skriptem pokus.sh, tak jim ale musíš dát jako proměnným i nějaké jméno, které ovšem vůbec nesouvisí s tím původním jménem... čili i kdyby jsi v tom tvém skriptu správně použil výraz pro vypsání proměnné

    echo $mailbox

    tak ti to stejně ve tvém případě nenapíše nic, neboť tvoje lokální proměnná ve skriptu pokus.sh se jménem $mailbox není definovaná.
    5.5.2010 20:16 PavelM
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Jasný chápu, díky moc, moc jse mi pomohli (hlavně Jindra), snad vám to někdy oplatím...
    the.max avatar 4.5.2010 21:06 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    ja to mam resene tak, ze za postfixem je jeste maildrop, na kterem resim i dalsi filtrovani a trideni mailu. V mailfiltru daneho usera je potom tohle:

    #MFMAILDROP=2
    
    logfile "/home/vmail/.logs/user@domena.ltd"
    
    xfilter "/usr/bin/spamc"
    
    FROM='user@domena.ltd'
    
    if ((/^From:.*info\@rb\.cz/))
    {
        cc "| /home/vmail/domena.ltd/user/skript.sh"
        log "spustil se skript"
    }
    
    to "/home/vmail/domena.ltd/user/.maildir/."
    

    dalsi moznosti je to nejak resit prez /etc/aliases, ale to nepouzivam.
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    24.6.2010 13:29 Martin
    Rozbalit Rozbalit vše Re: jak spustit script při doručení mailu v postfixu
    Dobrý den, potřebuji spustit script na kazdy email co mi prijde, ale nedari se:( provedl jsem nastaveni tak jak je popsano vyse. Z logu je hned nekolik chyb. Muzete poradit prosim?

    pipe hlasi toto: fatal: user= command-line attribute specifies root privileges

    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.