Portál AbcLinuxu, 12. května 2025 13:05

Dotaz: Postfix vacation neodesila maily prijemci

fabian avatar 21.8.2007 13:41 fabian | skóre: 18
Postfix vacation neodesila maily prijemci
Přečteno: 2585×
Odpovědět | Admin
Dobry den,

mam mailovy server postfix a uzivatele v mysql. Potrebuji nastavit vacation, ktery jsem nasel v PostfixAdminu. Funguje mi to, ze pokud si uzivatel nastavi odpoved v dobe nepritomnosti, tak se odesilaji zpravy lidem, kteri mu v te dobe neco poslou. E-mail vsak uz neprijde do schranky adresata. Zda se mi, ze toto neresi vacation, ale o to uz by se zase mel postarat postfix? Prikladam log, co se s mailem deje:
Aug 21 12:12:25 nicole postfix/smtpd[4337]: 4299053170: client=unknown[192.168.0.7], sasl_method=PLAIN, sasl_username=prijemce@prijemce.cz
Aug 21 12:12:25 nicole postfix/cleanup[4342]: 4299053170: message-id=<46CABAA3.2060201@odesilatel.cz>
Aug 21 12:12:25 nicole postfix/qmgr[4250]: 4299053170: from=<odesilatel@odesilatel.cz>, size=843, nrcpt=2 (queue active)
Aug 21 12:12:25 nicole postfix/pipe[4344]: 4299053170: to=<prijemce@prijemce.cz>, relay=vacation, delay=0.21, delays=0.15/0.01/0/0.05, dsn=2.0.0, status=sent (delivered via vacation service)
Aug 21 12:12:25 nicole postfix/pickup[4249]: 6E5C953172: uid=1001 from=<prijemce@prijemce.cz>
Aug 21 12:12:25 nicole postfix/cleanup[4342]: 6E5C953172: message-id=<20070821101225.6E5C953172@nicole.odesilatel.cz>
Aug 21 12:12:25 nicole Vacation: Orig-To: prijemce@prijemce.cz From: odesilatel@odesilatel.cz MessageID: <46CABAA3.2060201@odesilatel.cz> Subject: test
Aug 21 12:12:25 nicole postfix/pipe[4343]: 4299053170: to=<prijemce@prijemce.cz>, relay=vacation, delay=0.23, delays=0.15/0/0/0.07, dsn=2.0.0, status=sent (delivered via vacation service)
Aug 21 12:12:25 nicole postfix/qmgr[4250]: 4299053170: removed
Aug 21 12:12:25 nicole postfix/qmgr[4250]: 6E5C953172: from=<prijemce@prijemce.cz>, size=433, nrcpt=1 (queue active)
Aug 21 12:12:25 nicole postfix/smtpd[4337]: disconnect from unknown[192.168.0.7]
Aug 21 12:12:29 nicole postfix/smtp[4356]: 6E5C953172: to=<odesilatel@odesilatel.cz>, relay=mail.odesilatel.cz[82.208.36.245]:25, delay=4.4, delays=0.02/0.01/0.04/4.4, dsn=2.0.0, status=sent (250 ok 1187691764 qp 23718)
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.8.2007 14:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vacation jenom vytvoří nový e-mail a předá jej Postfixu k doručení. Pokud je odesilatel@odesilatel.cz ten, kdo odeslal původní e-mail a má dostat zprávu o nepřítomnosti, na posledním řádku je vidět, že ten e-mail odešel (status = sent, 250 OK). Co s ním udělá MTA příjemce už není ve vaší moci – např. pokud to vyhodnotí jako spam a zahodí, nedostane to adresát zákonitě do schránky.

Mimochodem, máte opravdu dobrý důvod posílat chudákům, jejichž adresu si nějaký spam nebo vir vybere za adresu odesílatele, upozornění o tom, že je na dovolené člověk, kterému nepsali a často ho ani neznají?
fabian avatar 21.8.2007 14:31 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Ano odesilatel@odesilatel.cz je ten, kdo ma dostat zpravu o tom, ze prijemce je na dovolene. To take probehne. Me jde o to, ze e-mail, ktery odesilatel poslal uz nedorazi prijemci. Nevidim o nem v logu postfixu ani zminku. Proste se preda vacation, ten ho nejak zpracuje a konec. Potreboval bych ale, aby e-mail od odesilatele prijemci prisel. To uz Vacation neresi? Nebo je nekde chyba?
Diky za pomoc
P.s.: rozhodnuti, ze se automaticke odpovedi budou pouzivat neni na me. Take z toho nejsem stastny.
21.8.2007 14:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
E-mail dostane ke zpracování transport vacation, ten se musí postarat o to, aby se samotný e-mail případně doručil dál (např. tím, že e-mail předá jinému transportu, např. local). Transport vacation by to měl umět sám, nebo by mělo být možné jej k tomu nakonfigurovat. Víc vám takhle neřeknu, to by bylo potřeba vidět konfiguraci a který z mnoha vacation skriptů vlastně používáte.
fabian avatar 21.8.2007 16:53 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Pouzivam script vacation.pl, ktery je v PostfixAdmnu (jak jsem psal v prvnim prispevku). Nema s nim nekdo prosim zkusenosti? Diky
21.8.2007 20:53 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
No tak to by me taky zajimalo, Postfix admin nesnasim, pouzivam vlastni tabulky, ale taky jsem se pokousel pouzivat tento skript bez postfix adminu a stejne neuspesne... Proste stale nekde delam chybu, taky jsem zkousel ty skripty z horde a taky bez uspechu ...

Proste nastavit vacation se systemovymi nebo LDAP ucty je sranda... Ale s mysql bohuzel ne ... Nevygooglil jsem zadne funkcni reseni..... :-(
Never give up ! Stay ATARI !
21.8.2007 21:01 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Můžete sem dát odkaz? Já prvně našel jen Postfix Admin a tam je vacation řešené content filtrem. Proto jsem se ptal, co vlastně používáte, protože tohle to asi nebude…
fabian avatar 21.8.2007 21:05 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Ano to je ono. V adresari VIRTUAL_VACATION je tam script vacation.pl, ktery jsem nakopiroval (dle naovdu) do /var/spool/vacation a vola se z postfixu pres content filter. Vam to funguje?
21.8.2007 21:26 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Aha. Tak to jsem se špatně díval, omlouvám se. Postfix Admin nepoužívám, ale podle INSTALL.TXT se to má chovat tak, že se pro každý e-mail vytvoří alias, na který když se pošle e-mail, pošle se ta automatická odpověď. Tj. jeden příchozí e-mail se přepošle na dvě adresy, původní a tu odpovídací. Pravděpodobně vám nefunguje tahle část. Tohle celé by měla zařídit tabulka vacation v MySQL spolu s Postfix Admin. Prý když si tam uživatel zvolí odpověď v nepřítomnosti, automaticky se pozmění aliasy aby se to posílalo i na onu odpovídací adresu. Hm.

Bohužel v tom Postfix Adminu nikde nevidím, jak se mění konfigurace Postfixu (aby postfix používal pro aliasy atd. tabulky Postfix Adminu) To si tedy budete muset najít ve své konfiguraci a vyzkoušejte, zda mapa pro alias funguje správně – tj jestli postmap -q mail@example.com vrací mail@example.com, mail@autorespond.example.com (podle toho, jakou doménu máte nakonfigurovanou pro odpovídač). Pokud by se vám to nedařilo, vložte sem výstup postconf | grep alias, snad to dáme nějak dohromady.
21.8.2007 22:02 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
to se prave me nepodarilo, proste moc komplikovane .... Jine resi taky nemas, vid ? Diky.
Never give up ! Stay ATARI !
22.8.2007 07:57 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Ten výstup z postconfu sem můžete vložit?
postconf | grep alias
22.8.2007 08:48 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
alias_database = hash:/etc/aliases
alias_maps = mysql:/etc/postfix/mysql-aliases.cf
allow_mail_to_commands = alias, forward
allow_mail_to_files = alias, forward
expand_owner_alias = no
local_recipient_maps = $alias_maps $virtual_mailbox_maps $virtual_maps unix:passwd.byname
newaliases_path = /usr/bin/newaliases
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
unknown_virtual_alias_reject_code = 550
virtual_alias_domains = $virtual_alias_maps
virtual_alias_expansion_limit = 1000
virtual_alias_maps = $virtual_maps
virtual_alias_recursion_limit = 1000

dale v alias_maps = mysql:/etc/postfix/mysql-aliases.cf je toto:

user =          mailsql
password =      heslo
hosts =         unix:/var/run/mysql/mysql.sock
dbname =        mailsql
table =         postfix_alias
select_field =  destination
where_field =   alias
Never give up ! Stay ATARI !
22.8.2007 09:45 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Doména adresáta se doručuje přes local transport nebo přes virtual? (Jde mi o to, zda se bere v úvahu alias_maps nebo virtual_alias_maps.) I když virtual_maps asi bude nastavené taky na mysql:/etc/postfix/mysql-aliases.cf, takže by to mělo být jedno…

V té tabulce postfix_alias byste tedy u všech uživatelů, kteří mají nastavenu odpověď v nepřítomnosti, měl mít nastaven alias sama na sebe + na odpovídací adresu, tj. např. mail@example.com, mail@autoresponse.example.com. Pokud to tak není, je chyba někde v Postfix Admin skriptech, které by tenhle záznam měly automaticky vytvořit, když si uživatel zapne odpověď v nepřítomnosti. Pak si ještě zkontrolujte, zda ten záznam Postfix opravdu vidí:
postmap -q 'mail@example.com' mysql:/etc/postfix/mysql-aliases.cf
Měl byste zase dostat obě e-mailové adresy: mail@example.com, mail@autoresponse.example.com.
fabian avatar 22.8.2007 10:18 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
V té tabulce postfix_alias byste tedy u všech uživatelů, kteří mají nastavenu odpověď v nepřítomnosti, měl mít nastaven alias sama na sebe + na odpovídací adresu, tj. např. mail@example.com, mail@autoresponse.example.com. Pokud to tak není, je chyba někde v Postfix Admin skriptech, které by tenhle záznam měly automaticky vytvořit, když si uživatel zapne odpověď v nepřítomnosti. Pak si ještě zkontrolujte, zda ten záznam Postfix opravdu vidí:

Tak toto mi pomohlo:). Do aliasu mi to cpalo mail@domena.tld@autoreplay.domena.tld . Kdyz jsem to rucne upravil na mail@domena.tld,mail@autoreplay.domena.tld tak to zaclo chodit. Ted jeste najit, jestli je opravdu chyba ve scriptech PostfixAdminu, nebo v nejakem nastaveni.
Domena pro autoreplay se nastavuje na dvou mistech:
- v transport_maps (u me hash:/etc/postfix/transport)
- v config.inc.php u postfixadmin: $CONF['vacation_domain'] = 'autoreplay.domena.tld';
Na obou mistech ji mam nastavenou shodne, ale presto mi to do tabulky pro aliasy zapise ten paskvil viz. vyse. Takze asi bude chybka v php scriptech postfixadminu? Je mi to ale divne. Na forech jsem cetl, ze to spousta lidem funguje bez problemu.
fabian avatar 22.8.2007 10:28 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Zvlastni.. jen jsem dopsal predchozi prispevek, tak mi to zacalo chodit i kdyz v tabulce pro alias je ten paskvil. Postfix do logu pise:
Aug 22 10:25:57 nicole postfix/pipe[5742]: A03BF5315D: to=<test@domain.cz@autoreplay.domain.cz>, orig_to=<test@domain.cz>, relay=vacation, delay=0.21, delays=0.13/0/0/0.08, dsn=2.0.0, status=sent (delivered via vacation service)
a taky to projde.. to sou veci:)
22.8.2007 11:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
mail@domena.tld@autoreplay.domena.tld
Podle dokumentace je tohle správně, chybu jsem tam měl já, nepodíval jsem se přesně, jak ta adresa vypadá. To se tedy divím, že proti těm dvěma zavináčům Postfix neprotestuje.
fabian avatar 22.8.2007 11:52 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Take se divim:). Kazdopadne dekuji za nakopnuti spravnym smerem. Pochopil jsem, jak to ma vlastne fungovat a podarilo se to rozchodit. Diky
22.8.2007 20:32 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Tak jsem to zase nepochopil ....

Otazka, mam uzivatele v Mysql + postfix = MOHU pouzit nejak ten script z postfix admin (nechci pouzivat postfix admin) a vyuzit ho na mem schematu ?? Nebo na jinem ? Diky.
Never give up ! Stay ATARI !
fabian avatar 22.8.2007 21:55 fabian | skóre: 18
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Urcite muzete, ale pokud nemate shodne tabulky vacation a alias jako jsou v postfix adminu, tak budete muset sql dotazy ve vacation.pl upravit pro vase tabulky.
22.8.2007 22:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Buď můžete použít ten skript bez úprav, a pak musíte dodržet to schéma a užití tabulek, jaké používá PostfixAdmin. Tj. v jedné tabulce jsou šablony pro odpovědi, a v tabulce aliasů se při zapnutí odpovědi v nepřítomnosti nastaví alias na adresu podle toho vzoru, který je uveden výše. Nebo můžete použít nějaké vlastní schéma a skript si přiohnout. Záleží na tom, zda chcete uživatelům umožnit měnit text odpovědi v nepřítomnosti, případně jak složité chcete mít zapínání této odpovědi (zda k tomu např. bude uživatel mít webové rozhraní). A také na tom, zda chcete použít nějakou existující databázi atd.
5.3.2009 11:04 omicron
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zdravím,

  narazil jsem dnes na chybu v nové verzi postfixadmina. Přiložený perl-skript vacation.pl (12819B orientačně s vyplněnými hodnotami) nefunguje.

Hlavička:

# Virtual Vacation 3.1
# by Mischa Peters <mischa at high5 dot net>
# Copyright (c) 2002 - 2005 High5!
# Licensed under GPL for more info check GPL-LICENSE.TXT
#
# Additions:
# 2004/07/13  David Osborn <ossdev at daocon.com>
#             strict, processes domain level aliases, more
#             subroutines, send reply from original to address
#
# 2004/11/09  David Osborn <ossdev at daocon.com>
#             Added syslog support
#             Slightly better logging which includes messageid
#             Avoid infinite loops with domain aliases
#
# 2005-01-19  Troels Arvin <troels@arvin.dk>
#             PostgreSQL-version.
#             Normalized DB schema from one vacation table ("vacation")
#             to two ("vacation", "vacation_notification"). Uses
#             referential integrity CASCADE action to simplify cleanup
#             when a user is no longer on vacation.
#             Inserting variables into queries stricly by prepare()
#             to try to avoid SQL injection.
#             International characters are now handled well.
#
# 2005-01-21  Troels Arvin <troels@arvin.dk>
#             Uses the Email::Valid package to avoid sending notices
#             to obviously invalid addresses.
#
# 2007-08-15  David Goodwin <david@palepurple.co.uk>
#             Use the Perl Mail::Sendmail module for sending mail
#             Check for headers that start with blank lines (patch from forum)
#
# 2007-08-20  Martin Ambroz <amsys@trustica.cz>
#             Added initial Unicode support
#
# 2008-05-09  Fabio Bonelli <fabiobonelli@libero.it>
#             Properly handle failed queries to vacation_notification.
#             Fixed log reporting.


Nedokáži říci kde je chyba protože perl neovládám a skript ani nezaloží žádný log, ale prokazatelně se připojí do databáze.

Používám tedy starší verzi kterou jsem naštěstí vyhrabal na jednom serveru.

5.3.2009 18:13 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
doporucuji pouzivat GroupOffice, delame tomu ceskou podporu a ma integrovany postfix admin a umi to zajimave veci.

vice na www.group-office.com
Never give up ! Stay ATARI !
6.3.2009 11:15 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci

Ten Váš link nefunguje.

6.3.2009 15:00 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci
At zije slavny "zastaraly" editor abicka ... tak ted..

Never give up ! Stay ATARI !
6.3.2009 15:08 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci

V pohodě, já sem si to vyzkoušel normálně dát do URL v prohlížeči, ale tak někoho by to mohlo odradit.

15.7.2009 11:58 Laky
Rozbalit Rozbalit vše Re: Postfix vacation neodesila maily prijemci

Zdravím , pouzivam groupoffice a mam problem s VACATIO vse nastavene podle navodu ale problem je ze to spatne bere mail kam to ma zpet poslat odpoved zde je log z debugu

====== 2009/07/15 11:50:48 ======
Invalid from email
address: =?iso-8859-2?q?jmeno_prijmeni_-_domena.cz?= <email@domena.cz>; exiting.

 

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.