problème vacation sous postfix

Bonjour,
J’ai un serveur de mail sous postfix sur lequel j’essai de mettre en place vacation (autoreply pour les absence de bureau).
Config avec utilisateur système + procmail.

J’ai insallé vacation et je l’ai lancé manuellement avec un compte utilisateur afin de créer les différents fichier :

.forward

\user1, "|/usr/bin/vacation user1"

.vacation.msg et .vacation.db

Tout est OK jusque là mais le problème et que ca ne marche pas !

Dans mes log le mail est bien remis à la personne absence mais vacation ne fait aucun retour à l’expéditeur pourtant le mail passe bien par lui :

Jun 27 13:32:40 INFERNUM postfix/local[6319]: 78D074020E: to=<user1@DOMAINE.fr>, relay=local, delay=17, delays=17/0.02/0/0.05, dsn=2.0.0, status =sent (delivered to command: /usr/bin/vacation user1)

J’utilise normalement procmail, je l’ai mis de coté le temps de faire mes test car ca ne fonctionne pas non plus lorsque je combine vacation et procmail.

Si besoin mon main.cf :

alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix home_mailbox = mailbox/ ignore_mx_lookup_error = yes inet_interfaces = all mailbox_size_limit = 2048000000 maximal_queue_lifetime = 1d mydestination = DOMAINE.FR, localhost myhostname = INFERNUM mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = smtp.free.fr smtpd_banner = mail.DOMAINE.FR ESMTP $mail_name smtpd_helo_required = yes unknown_local_recipient_reject_code = 550

toute aide est la bienvenue merci.

salut

il faut regarder du cote de .procmailrc

tu devrais avoir une regle du style

:0c
|/usr/bin/vacation -a user@mon_domaine.com user

affiche le

a+

[quote=“gilles974”]salut

il faut regarder du cote de .procmailrc

tu devrais avoir une regle du style

:0c
|/usr/bin/vacation -a user@mon_domaine.com user

affiche le

a+[/quote]

Salut et merci de t’intéresser à mon problème.
J’ai remis postfix avec procmail
Voila mon .procmailrc :

[code]PATH=/bin:/usr/bin
MAILDIR=$HOME/mailbox/
#SPAMBOX=.Junk

:0c
|/usr/bin/vacation -a user1@DOMAINE.fr user1

:0
/home/user1/mailbox/
[/code]

J’ai bien tout mes fichiers .forward + .vacation.msg + .vacation.db de créé.
Vacation est bien en enabled.

Mais j’ai toujours aucun retour, voila mon log, on voit bien le mail passer par vacation pourtant :

Jun 29 11:32:26 INFERNUM postfix/local[2520]: 1B01B4020E: to=<user1@DOMAINE.fr>, relay=local, delay=9.3, delays=9.3/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: procmail -a "EXTENSION")
Jun 29 11:32:26 INFERNUM postfix/local[2520]: 1B01B4020E: to=<user1@DOMAINE.fr>, relay=local, delay=9.3, delays=9.3/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: /usr/bin/vacation user1)

Avec des tests j’ai l’impression que mon procmailrc ne traite pas la ligne vacation, car avec ou sans, c’est le .forward qui fait que vacation traite le mail…car si je supprime le .forward, le mail ne passe pas dans vacation…es ce normal ?

essaye ça qui c’est :033

:0c
* ^(To|Cc).*user@domaine.fr
| vacation -f /home/vacation/user@domaine.fr.db -m /home/vacation/user@domaine.fr.msg -a user@domaine.fr vacation

pas mieu…
Je comprend pas il veut pas entendre parler de ma ligne dans procmail…

es ce qu’il faut créer un utilisateur pour vacation ?

N’y a t’il pas une commande ou technique permettant de tester vacation ?

Il faut bien que le .forward existe ou non ?

Si tu as les réponses à mes questions je serai content :smiley:

je suis sur vacation aussi depuis plusieurs jours et je cherche à le paramétrer avec les virtual users
:119

tu est parti de quelle doc ?

Voila qque exemple de tuto que j’ai utilisé, certain travail avec vacation d’autre le remplace par certaines fonction de procmail…quoi qu’il en soit ca ne marche pas chez moi.

e.rycks.com/index.php/post/2005/ … n-procmail
sns.ias.edu/~jns/wp/2006/01/ … -procmail/
system.cs.technion.ac.il/Mail_Gu … ocmail.htm

Je pensais pas autant galéré pour un truc qui avait l’air simple a mettre en place, surtout avec des utilisateurs systèmes…alors avec une base SQL :017

t’inquiet tu n’est pas tout seul à t’embourber :038 bienvenue au club

créer un user vacation

useradd -m vacation -s /bin/nologin -c "Utilisateur vacation"

modifie ton transport

vacation   unix    -       n       n       -       10      pipe
  flags=Rq user=vacation argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-vacation.rc ${sender} ${recipient}

céer ton fichier /etc/postfix/procmail-vacation.rc

SHELL=/bin/sh
 :0c
* ^(To|Cc).*user@domaine.fr
| vacation -f /home/vacation/user@domaine.fr.db -m /home/vacation/user@domaine.fr.msg -a user@domaine.fr vacation
:0
/dev/null

a+

Salut,
Merci pour les infos mais actuellement j’utilise un .procmailrc par compte donc trop lourds à mettre en place de modifier le master.cf.
J’ai pu trouvé ce que je cherchais ici :
system.cs.technion.ac.il/Mail_Gu … ocmail.htm

Ca fonctionne très bien dans mon cas, seul problème mon postfix gère plusieurs domaine et quand sendmail renvoi le mail pour l’autoreply il utilise le domaine principale. Au lieu de répondre sur user1@domaine.com.
Je souhaiterai définir dans la dernière commande “$SENDMAIL -oi -t” le compte source a utiliser mais je ne sais pas comment, rien dans la man

Une idée ? merci

peut être faire un procmailrc principal par domaine

je souhaiterai rester au plus proche de ma config actuel, un procmailrc par utilisateur.

Voila le script qui fonctionne :

[code]:0 Whc: vacation.lock

  • ^To:.*user1@DOMAINE.FR
  • !^FROM_DAEMON
  • !^X-Loop: user1@DOMAINE.FR
    | formail -rD 8192 vacation.cache

:0 ehc
| (formail -rA"Precedence: junk"
-A"X-Loop: user1@DOMAINE.FR" ;
cat $HOME/.vacation.msg;
echo “”;
echo "-- "; cat $HOME/.signature
)
| $SENDMAIL -oi -t

:0
[/code]

Mais la réponse se fait avec user1@DOMAINE.COM et non .FR car le serveur en gère plusieurs…
J’ai fais pas mal de test sans succès.

ex : echo “-fname user1@DOMAINE.FR” à la suite des echo ou dans la commande sendmail ne change rien, pire ca n’envoi même pas le mail d’autoreply…

D’avance merci.

après des galère il fallait simplement rajout -f from-user@domain dans la commande sendmail
je pensais l’avoir testé mais non…

content que ta vacation marche

comme tu as installé vacation d’une autre façon, tu devrais compléter le tuto existant
sur le wiki. cela donnerais plus de choix concernant le mode d’installation aux suivants

a+

ok bonne idée je vais l’ajouter dans la semaine