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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 7
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

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

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 39
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 775 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 984×
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: 60 | 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: 45 | blog: Davidovo smetiště | Bílina
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
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".
5.5.2010 11:22 Zdenek 'Mst. Spider' Sedlak | skóre: 37 | blog: xMstSpider
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: 45 | blog: Davidovo smetiště | Bílina
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
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.