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 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 3
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 442 hlasů
     Komentářů: 12, poslední včera 21:12
    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: 1068×
    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.