Portál AbcLinuxu, 12. května 2025 15:42

Dotaz: Jak poslat mail pres postfix local(8) do skriptu

21.6.2010 22:32 Kevin
Jak poslat mail pres postfix local(8) do skriptu
Přečteno: 332×
Odpovědět | Admin
Zdravim, potreboval bych poslat mail pres postfix local(8) do skriptu, v manualu jsem si nasel ze to jde, ale ja nevim jak se v tom skriptu dostak obsahu mailu, to jsem nejak nepochopil, uplne nejradsi bych aby se zavolal skript a jako parametr (napriklad $1) by se do nej poslal cely mail. Nevite nekdo jak toho dosahnout? Diky

Zatim me napadlo jen to ukladat do souboru a ten pres cron pravidelne rohlizet, ale to mi prijde dost nevhodne, radsi bych zavolal skript pri doruceni.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

the.max avatar 21.6.2010 23:12 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Jak poslat mail pres postfix local(8) do skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin

obsah mailu se obvykle prdava na stdin. Jestli ti to pomuze, existuji 2 zpusoby jak predat zaridit aby postfix predal mail skriptu. Jeden je, ze do /etc/aliases zapises neco jako mail@domena.ltd |/usr/local/script.sh (neboa spon si to myslim, tento zpusob nepouzivam. Druhy zpusobje prez maildrop. Nainstalujes si maildrop, v /etc/postfix/master.cf si povolis export do maildropu a pak si vytvoris filtrovaci pravidlo pro daneho 'adresata'. Ja to pouzivam pro zpracovani mailu z banky pri prichozi platbe.

cat /home/vmail/.mailfilters/platby\@vseborice.net

#MFMAILDROP=2
#
# DO NOT EDIT THIS FILE. This is an automatically generated filter.

logfile "/home/vmail/.logs/platby@domena.ltd"

#xfilter "/usr/bin/spamc"

FROM='platby@domena.ltd'

if ((/^From:.*info\@rb\.cz/))
{
cc "| /usr/local/sbin/skript.php"
log "Prisla platba :-o"
}

to "/home/vmail/domena.ltd/platby/.maildir/."


stdin v PHPcku se cte:

 

$soubor = fopen("php://stdin", "r");

snad ti to k necemu bude

KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
21.6.2010 23:53 Kevin
Rozbalit Rozbalit vše Re: Jak poslat mail pres postfix local(8) do skriptu
No já bych právě rád přes ten první způsob, ale jak načíst do skriptu ten mail? Stdin moc neznám, ale v proměné $stdin nic neni, tak kde je ten mail? Díky
the.max avatar 23.6.2010 00:11 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Jak poslat mail pres postfix local(8) do skriptu
mno, asi takhle. Mas skript, kterej se jmenuje skript.sh. Mas textak se jmenem soubor.txt. A ted chces obsah toho textaku poslat na stdin toho scriptu. To udelas takhle:

cat soubor.txt | skript.sh

Tohle sam dela postfix. Ty uz pak jen v tom skriptu musis ze stdin umet precost to, co ti ten postfix posila. Google urcite poradi
KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.