J'ai ce code dans le fichier /etc/procmailrc :
DROPPRIVS=yes
DEFAULT=$HOME/Maildir/
:0
* ? /usr/bin/test -d $DEFAULT || /bin/mkdir $DEFAULT
{ }
:0 E
{
# Bail out if directory could not be created
EXITCODE=127
HOST=bail.out
}
MAILDIR=$HOME/Maildir/
Mais lorsque le répertoire existe déjà, il arrive qu'il renvoie un message d'erreur : 554 5.3.0 unknown mailer error 127
. L'e-mail est toujours délivré, mais il renvoie également un code d'erreur à l'utilisateur qui l'a envoyé.
J'ai corrigé ce problème temporairement en commentant la ligne EXITCODE
y HOST
mais j'aimerais savoir s'il existe une meilleure solution.
J'ai trouvé ce bloc de code à plusieurs endroits sur le net, mais je n'ai pas vraiment trouvé pourquoi cette erreur me revenait. Cela semble se produire lorsque j'envoie un courriel à un utilisateur local. Parfois, l'utilisateur a un .forward
pour le transmettre à d'autres utilisateurs, parfois non, mais le résultat est le même. J'ai également essayé de supprimer DROPPRIVS
Il n'y a pas eu de problème avec le transfert, mais cela n'a pas semblé l'affecter.
- La ligne commençant par
* ? /usr/bin/test
un problème ? - En
*
signifie une expression rationnelle, mais l'élément?
renvoie une valeur entière, n'est-ce pas ? - Quel est le nombre entier qui est comparé ? Ou s'agit-il simplement de comparer la valeur de retour de l'entier ?
- Faut-il un espace entre les deux blocs ?
Merci pour votre aide.