[PROCMAIL] auto reply probleempje

Pagina: 1
Acties:

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ben bezig om een auto reply te maken met procmail/mailform maar kom er nog niet helemaal uit.

de volgende code werkt prima:
code:
1
2
3
4
5
6
7
:0 chw
* ^(To|Cc):.*user@domain\.nl
* !^X-Loop: user@domain\.nl
| { formail -r -I "From: user <user@domain.nl>" \
 -A "X-Loop: user@domain.nl"; \
 cat /etc/autoreply/my_autoreply_msg; \
 } | /usr/sbin/sendmail -oi -t

dit gaat prima, zo lijkt het, zolang de 2e X-Loop een real user is.
echter,
zodra je wil dat een alias een autorply geeft gaat het fout:
code:
1
2
3
4
5
procmail: Program failure (1) of 
" { formail -r -I "From: user_alias <user_alias@domain.nl>" \
 -A "X-Loop: user_alias@domain.nl"; \
 cat /etc/autoreply/my_autoreply_msg; \
 } | /usr/sbin/sendmail -oi -t"

ik gok dat formail eerst gaat kijken of de user wel bestaat, maar omdat het een virtualuser is die wel in de /etc/mail/virtusertable bestaat maar niet op het systeem zelf denkt formail dus dat de user niet geldig is oid?

bestaat er een workaround voor dit?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Formail kijk daar volgens mij niet naar.
Kijk eens in de maillog (/var/log/maillog ?). Misschien doet sendmail moeilijk.
Zelf gebruik ik nog de optie '-fuser_alias@domain.nl' in de sendmail aanroep en in plaats van { } gebruik ik ( ).

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
sendmail geeft geen errors oid.
ook de haakjes lijken niet het probleem te zijn.

het lijkt toch echt zo te zijn dat als je een virtual useradres gebruikt in die X-Loop dat het dan fout gaat.

ik kan die loop beveiliging er wel uithalen maar dan kan je natuurlijk een probleem krijgen als je naar jezelf mailt vanaf je eigen adres, is het niet?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Als je in plaats van '| sendmail ....' eens probeert '> /path/to/file', dan zie je in elk geval of de headers correct worden aangepast. Als dat wel goed gaat, dan is het toch een probleem bij het verzenden. Je kan dan zelf nog eens proberen om die file naar sendmail te sturen: 'sendmail -t -oi < /path/to/file'

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
zou het mischien zo kunnen zijn dat formail kijkt wat de rechten zijn van de specifieke virtual user is en dan met die rechten sendmail uit probeerd te voeren?
wellicht dat het em daar steekt?
of is dit een onzinnige gedachte?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ik heb nu letterlijk het auto-reply scriptje uit de man 5 procmailex gepakt,
geen fout meldingen, mailtje wordt netjes in de juiste box afgeleverd maar reply'en, ho maar.
je ziet ook dattie de enviroment van de specifieke realuser pakt,
dus:
procmail: procmail: Assigning "PATH=/home/user/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin"

hier maak ik uit op dat sendmail of procmail of whatever weigert te versturen als het een virtualuser betreft.

(als je de output naar een file doorpiped blijkt dat leeg te zijn!)

oplossing zou zijn om eerst de mail aftevangen als het de specifieke virtual user betreft en vervolgens die mail te versturen naar de real user en dat weer afte vangen en dan werkt de auto reply waarschijnlijk wel.
ik kan me alleen niet voorstellen dat het zo omslachtig moet.
maar als je gaat zoeken op google naar: formail auto-reply howto virtual
dan krijg je hoguit 7 hits, dus kan het mischien helemaal niet :?

heeft iemand mischien een andere oplossing voor een auto-reply?
of is het gebruik van auto-replies alleen voor MS exchange users weggelegd?
(kan ik me nauwelijks voorstellen)

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
dit is de code uit man 5 procmailex:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SHELL=/bin/sh    # for other shells, this might need adjustment

:0 Whc: vacation.lock
     # Perform a quick check to see if the mail was addressed to us
  #* $^To:.*\<$\LOGNAME\> #door mij aangepast
* $^To:.*user
     # Don't reply to daemons and mailinglists
* !^FROM_DAEMON
     # Mail loops are evil
* !^X-Loop: your@own.mail.address
| formail -rD 8192 vacation.cache

:0 ehc         # if the name was not in the cache
| (formail -rA"Precedence: junk" \
 -A"X-Loop: your@own.mail.address" ; \
 echo "I received your mail,"; \
 echo "but I won't be back until Monday."; \
 echo "-- "; cat /etc/autoreply/.user \
) | $SENDMAIL -oi -t



en dit is het resultaat in de log:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procmail: [18615] Mon Nov 25 17:25:57 2002
procmail: Assigning "LOGABSTRACT=on"
procmail: Assigning "SENDMAIL=/usr/sbin/sendmail"
procmail: Assigning "SHELL=/bin/sh"
procmail: Match on "^To:.*user"
procmail: Match on ! "(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To: Multiple recipients of |(((Resent-)?(
From|Sender)|X-Envelope-From):|>?From )([^>]*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|dae
mon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp)|echo|mi
rror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>
         ][^<)]*(\(.*\).*)?)?$([^>]|$)))"
procmail: Match on ! "^X-Loop: user@domain.nl"
procmail: Locking "vacation.lock"
procmail: Executing "formail,-rD,8192,vacation.cache"
procmail: Assigning "LASTFOLDER=formail -rD 8192 vacation.cache"
procmail: Unlocking "vacation.lock"
procmail: Assigning "PATH=/home/user/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin"


zoals je kan zien wordt alleen het eerste formail regeltje uitgevoerd en dus niet het sendmail regeltje...

maar waarom niet :?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Haal dat eerste stuk eens weg (t/m die regel met vacation.cache), want die is er alleen om te voorkomen dat een zender meermaals een autoresponse bericht krijgt (een ramp bij mailinglists).

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ben er uit, heb net 48 uur wasted on nuttin'
mijn hotmal account die ik gebruikt om te testen stuurt gare mailtjes oid,
snap er nix van maar als een vriend van me mailtje met zijn hotmail of welke client dan ook verstuurd werkt het gewoon als een zonnetje....

echt niet te geloven dit.

tnx anyway ;)

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
[quote]rvm schreef op 25 November 2002 @ 17:37:

want die is er alleen om te voorkomen dat een zender meermaals een autoresponse bericht krijgt....

[quote]

aaargh,
dat was het probleem natuurlijk!!

tnx

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

... en dan nu dat stuk met die vacation cache weer toevoegen om irritaties met mailinglists te voorkomen ;)
Pagina: 1