Portál AbcLinuxu, 11. května 2024 03:10


Dotaz: Dovecot sieve: filtrování pošty & provedení skriptu & automatické odpovědi

29.6.2019 10:26 Deryl | skóre: 11
Dovecot sieve: filtrování pošty & provedení skriptu & automatické odpovědi
Přečteno: 295×
Odpovědět | Admin

Ahoj,

rád bych automatizoval následující akci:

Mám vlastní email server (dovecot + sieve; příchozí pošta je stahována z externích emailových schránek pomocí getmail a dovecot-lda je použit pro doručení do schránky uživatele), funkční program na download audio složky z URL videa, vlastní podcast server s publikováním přes ftp/scp.

Kudy se vydat?

Vše přes sieve ext programs hodit na externí bash script a potom ladit jednotlivé kroky a možné chybové hlášky? Nebo se snažit maximum provést přímo v sieve? Nebo ještě jinak, snadněji?


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

xkucf03 avatar 29.6.2019 15:01 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Dovecot sieve: filtrování pošty & provedení skriptu & automatické odpovědi
Odpovědět | | Sbalit | Link | Blokovat | Admin

Sieve má smysl pro hlavně pravidla, která si uživatelé definují sami – je to formát/jazyk a protokol, kterým uživatelé můžou svoje pravidla nahrát na server a tam nechat provádět.

Pokud to chápu správně, tak vytváříš nějakou systémovou službu a jsi správcem toho serveru. V tom případě bych do toho Sieve netahal nebo ho použil maximálně k zavolání toho skriptu. Ten getmail je tam nutný? Nejde nastavit zdrojové servery, aby přeposílaly zprávy na tvůj server pomocí SMTP? Pak bys tam měl Postfix, kterému stačí nastavit, aby zprávy pro určitou adresu směroval místo do schránky do toho skriptu. Nebo jde použít Sieve i bez těch „ext programs“ – v Sieve přesměruješ zprávu na e-mailovou adresu tak, že to půjde přes tvůj Postfix a ten to předá tomu skriptu.

Tím Postfixem/Sievem bych asi jen předal e-mail nějakému skriptu, který by okamžitě vrátil odpověď a zbytek zpracování by už proběhl asynchronně na pozadí, aby to nezdržovalo e-mailový systém. Což tedy znamená sypat si ta URL do nějaké fronty nebo na pozadí spouštět procesy… Pokud se stažení povede, tak poslat e-mailem zprávu. Pokud se nepovede, tak třeba ještě párkrát vrátit do fronty (může to být dočasná chyba, např. jsi překročil limit stahování ze serveru) a pak teprve poslat e-mail, že se to nepovedlo.

Můžeš tam mít třeba databázi, do které ten skript bude vkládat URL ke stažení, a pak nějaký démon běžící na pozadí, který z té DB čte URL a stahuje. Nebo místo té DB mít frontu jako ActiveMQ nebo něco podobného.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
29.6.2019 23:35 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: Dovecot sieve: filtrování pošty & provedení skriptu & automatické odpovědi

Díky za komentář ohledně asynchronního zpracování. Používám už MQTT server pro jiné věci, takže bych odesílatele & URL posílal na něj a zkusím  naskriptovat lokální službu provádějící, co popisuješ. Bude to nepochybně robustnější řešení.

getmail + dovecot používám už delší dobu, tak se mi nechce to celé překopávat. A když vypnu svůj server, stále mohu emailovat přes původní poskytovatele emailu. A nakonec se mi podařilo i nastavit sieve s extprograms a předávat emaily pro konkrétního adresáta externímu skriptu.

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.