Portál AbcLinuxu, 10. května 2025 05:00

Dotaz: Autoresponder ve Squirrelmailu

5.3.2009 13:53 jan.rok | skóre: 21
Autoresponder ve Squirrelmailu
Přečteno: 780×
Odpovědět | Admin

Dobrý den,

používám Postfix+Squirrelmail. Nyní jsem dostal za úkol rozchodit přesměrování pošty a odpověď v nepřítomnosti, což by si uživatelé měli nastavovat z webmailu.

Plugin autoresponder ve Squirrelmailu mám zapnutý, vacation v linuxu nainstalovaný, ale nezdá se, že by to fungovalo.

Nevím, jak zajistit, aby se uložilo to, co uživatel v auto responderu přes webmail nastaví (Mělo by se to ukládat asi do .forward a do vacation.msg v /home adresáři uživatele. Ale neukládá se to.)

Díky za radu, JR

PS: prosím nepište, že tyto funkce zahlcují internet zbytečnými maily atd. atd., prostě to chce vedení a já se musím podřídit... :-(

 

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

Odpovědi

6.3.2009 09:13 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu
Odpovědět | | Sbalit | Link | Blokovat | Admin

A má to právo do těch souborů zapisovat? Webová aplikace, což Squirrelmail je, má obykle právo zapisovat jen do složky příslušného webu.

6.3.2009 11:06 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Souborům jsem nastavil práva 777, ale ani tím se nic nezměnilo.

JR

6.3.2009 19:09 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

To jsem jen hádal jako možnost. Tudy cesta nevede, tak jsem se na ten plugin zkusil podívat a:

  1. Který plugin vlastně používáš? Tento: www.squirrelmail.org/plugin_view.php ?
  2. Pokud ten zmíněný, tak jakým způsobem se to nastavuje? Jsou tam dvě metody, buď přes FTP nebo pomocí SUID programu.
9.3.2009 08:43 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Používám www.squirrelmail.org/plugin_view.php?id=172. Je to přes ftp.

9.3.2009 09:22 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Takže jsem použil plugin, na který se ptáte. Když nyní ve webmailu zapnu autoreply, tak se v home adresáři uživatele vytvoří soubory forward.* a vacation.*.

Plugin ale vrací místo odpovědi chybový mail, kde je ke konci hláška:

<test@mail.domena-xy.cz>: Command died with status 1: "/usr/bin/vacation test"

JR

9.3.2009 10:05 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

No a co se tedy stane při spuštění toho příkazu bokem, pod uživatelem webového serveru nebo konkrétním člověkem?

9.3.2009 10:11 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Nestane se nic: když spustím /usr/bin/vacation test, tak je kurzor na začátku dalšího řádku a čeká...

9.3.2009 11:42 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Takže zřejmě čeká na nějaká data ze standardního vstupu. Asi bude potřeba najít, kde a jak se to v PHP volá, a doplnit nějaké debugovací hlášky. A nebo googlit, zda to již někdo vyřešil.

9.3.2009 12:03 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Pokud plugin vytváří ty soubory, tak funguje - dělá, to co má on dělat, ostatní je už na jiných programech. To odpovídání musíš mít rozchozené na úrovni poštovního programu. Pro začátek nainstaluj program vacation. Ten příkaz vacation v podstatě akorát do souboru vacation.msg zapíše zprávu, která se má posílat (a to je taky to, na co čeká, pokud ji nezadáš jako parametr).

9.3.2009 12:04 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Pokud plugin vytváří ty soubory, tak funguje - dělá, to co má on dělat, ostatní je už na jiných programech. To odpovídání musíš mít rozchozené na úrovni poštovního programu. 

Ten příkaz vacation v podstatě akorát do souboru vacation.msg zapíše zprávu, která se má posílat (a to je taky to, na co čeká, pokud ji nezadáš jako parametr).

9.3.2009 12:10 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Ano, ono to vypadá, že plugin funguje, protože dokáže správně modifikovat soubory .vacation.* a .forward.*, jenže nějak selhává to odesílání.

Místo vacation zprávy přichází jen mail s chybou, co jsem psal.

9.3.2009 13:17 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Ale, jak jsem psal, to už je problém poštovního programu. Alespoň napiš co tam používáš (Postfix, Qmail, Sendmail, Exim ...)

9.3.2009 13:27 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Používám Postfix (viz původní dotaz). Nyní jsem zjistil, že ačkoliv plugin správně zapíše do souborů vacation a forward, tak zřejmě má při ukládání nastavení vyvolat příkaz /usr/bin/vacation -I, což neudělá. Tím se nevytvoří soubor .vacation.db.

Když spustím /usr/bin/vacation -I ručně, databáze se vytvoří a vše začne fungovat. Má to ale ještě nedostatek: na kažkou adresu odpovídá jen jednou.

Takže nyní mám 2 problémy:

1. jak donutit plugin, aby spustil vacation -I (běžný user práva ke spuštění má)

2. jak nastavit, aby odpovídal na každý mail z jedné adresy.

 

9.3.2009 17:01 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

2. - k vacation ve .forward  přidejte parametr -t0 (viz man vacation)

9.3.2009 14:45 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Zjistil jsem, že problém bude asi v konfiguračním souboru pluginu - config.php.

Zde je řádek:

$www_initialize = '/usr/bin/sudo -u ###USERNAME### /usr/bin/vacation -I';

Za ###USERNAME### se ve skriptu option.php dosadí uživateleské jméno. Ale příkaz sudo podle mě bude očekávat heslo, které ale nedostatk dostat, takže se příkaz neprovede. Tohle ale neumím vyřešit.

9.3.2009 17:17 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Inicializaci můžete uděla dopředu ručně, není potřeba při každé změně.

Zmíněné nastavení se použije, jen pokud je zapnuté $initialize_when_create nebo $initialize_when_change. Význam má také jen pokud se používá FTP přístup. Návod jak na to sudo je v souboru README u pluginu. Ve zkratece: do /etc/sudousers přidat

Runas_Alias MAILUSERS = {list of users using webmail and need vacation functionality}
apache ALL=(MAILUSERS) NOPASSWD: /usr/bin/vacation

kde apache nahradíte uživatelem, pod kterým běží webserver, a použijete ho i v tom config.php

9.3.2009 18:25 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Tak jsem tedy do toho souboru přidal:

Runas_Alias MAILUSERS = {test}
wwwroot ALL=(MAILUSERS) NOPASSWD: /usr/bin/vacation

a restartoval jsem server.

Teď mi však plugin při uložení nastavení (když zapnu autoreply) dává chybu An error occurred initializing the autoresponder

 

10.3.2009 13:34 jan.rok | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Takže správně má být:

Runas_Alias MAILUSERS = ALL
wwwrun ALL=(MAILUSERS) NOPASSWD: /usr/bin/vacation -I

 

Tím je problém vyřešen. Díky všem za rady.

JR

10.3.2009 18:34 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Autoresponder ve Squirrelmailu

Můžeš tam mít i to test (předpokládám, že máš takového uživatele), ale bez těch složených závorek. A pokud jmen uvedeš více, tak je odděl čárkami.

Skopnul jsem ti to přímo z README a těmi závorkami chtěl autor zřejmě naznačit, že se jedná o seznam.

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.