abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 16
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

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

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 14
    24.4. 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 784 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 1038×
    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: 62 | 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.