[Debian 4.0] Envoi de mail - Postfix
Résolu
Brazhak
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Brazhak Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Brazhak Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Suite à l'installation de postfix, j'arrive parfaitement à envoyer des mails vers l'extérieur mais par contre ça merdouille en local : un mail envoyé par root vers l'utilisateur toto va directement dans /var/spool/mail/nobody
Et pareil pour tous les destinataires du serveur.
Aucune erreur dans la log à priori :
May 14 04:16:49 postfix/pickup[2312]: 0C7FA11568F: uid=0 from=<root>
May 14 04:16:49 postfix/cleanup[3174]: 0C7FA11568F: message-id=<20090514021649.0C7FA11568F@mon.domaine.com>
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: from=<root@mon.domaine.com>, size=375, nrcpt=1 (queue active)
May 14 04:16:49 postfix/local[3176]: 0C7FA11568F: to=<root@mon.domaine.com>, orig_to=<toto@mon.domaine.com>, relay=local, delay=0.06, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: removed
Avez-vous une idée d'où cela peut provenir ?
Un petit coup de postconf au cas ou ca proviendrait de là :
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
default_transport = smtp
inet_interfaces = all
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domaine.com
myhostname = mon.domaine.com
mynetworks = 127.0.0.0/8
myorigin = $myhostname
queue_directory = /var/spool/postfix
recipient_delimiter = +
sender_canonical_maps = hash:/etc/postfix/canonical
Merci d'avance.
Suite à l'installation de postfix, j'arrive parfaitement à envoyer des mails vers l'extérieur mais par contre ça merdouille en local : un mail envoyé par root vers l'utilisateur toto va directement dans /var/spool/mail/nobody
Et pareil pour tous les destinataires du serveur.
Aucune erreur dans la log à priori :
May 14 04:16:49 postfix/pickup[2312]: 0C7FA11568F: uid=0 from=<root>
May 14 04:16:49 postfix/cleanup[3174]: 0C7FA11568F: message-id=<20090514021649.0C7FA11568F@mon.domaine.com>
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: from=<root@mon.domaine.com>, size=375, nrcpt=1 (queue active)
May 14 04:16:49 postfix/local[3176]: 0C7FA11568F: to=<root@mon.domaine.com>, orig_to=<toto@mon.domaine.com>, relay=local, delay=0.06, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
May 14 04:16:49 postfix/qmgr[2314]: 0C7FA11568F: removed
Avez-vous une idée d'où cela peut provenir ?
Un petit coup de postconf au cas ou ca proviendrait de là :
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
default_transport = smtp
inet_interfaces = all
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domaine.com
myhostname = mon.domaine.com
mynetworks = 127.0.0.0/8
myorigin = $myhostname
queue_directory = /var/spool/postfix
recipient_delimiter = +
sender_canonical_maps = hash:/etc/postfix/canonical
Merci d'avance.
A voir également:
- [Debian 4.0] Envoi de mail - Postfix
- Net framework 4.0 - Télécharger - Divers Utilitaires
- Programmer envoi mail gmail - Guide
- Envoi mail cci - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
2 réponses
Bonjour,
La doc complete est la : https://postfix.traduc.org/
La methode de relai est define dans /etc/postfix/master.cf
Dans votre cas c'est en local. Ce n'est pas une bonne chose car dans ce cas une adresse email implique qu'il y a un compte identique derrière : c'est une source d'attaque du serveur.
Il vaut mieux utiliser une config "virtual" et que Postfix transfere le courrier local a un autre service : cyrus ou courrier.
Il faut dans postfix definir la liste des adresses recevant le courrier local.
C'est dans votre cas : "local_recipient_maps = hash:/etc/postfix/quelquechose"
En effet tous les utilisateurs déclarés dans /etc/passwd n'ont pas à recevoir du courrier...
On utilise "alias_maps = hash:/etc/aliases" pour définir l'adresse de l'utilisateur qui vas collecter tous les mails "systeme" (les logs et les alertes par exemple).
Cordialement,
La doc complete est la : https://postfix.traduc.org/
La methode de relai est define dans /etc/postfix/master.cf
Dans votre cas c'est en local. Ce n'est pas une bonne chose car dans ce cas une adresse email implique qu'il y a un compte identique derrière : c'est une source d'attaque du serveur.
Il vaut mieux utiliser une config "virtual" et que Postfix transfere le courrier local a un autre service : cyrus ou courrier.
Il faut dans postfix definir la liste des adresses recevant le courrier local.
C'est dans votre cas : "local_recipient_maps = hash:/etc/postfix/quelquechose"
En effet tous les utilisateurs déclarés dans /etc/passwd n'ont pas à recevoir du courrier...
On utilise "alias_maps = hash:/etc/aliases" pour définir l'adresse de l'utilisateur qui vas collecter tous les mails "systeme" (les logs et les alertes par exemple).
Cordialement,
bonjour,
En fait, il y avait un cafouillage dans le fichier aliases :
toto: root
donc les mails de toto étaient transmis à root. J'ai supprimé cette ligne et maintenant toto recoit bien ses mails.
donc root n'existe plus dans le fichier /etc/postfix/aliases ???
Par contre, root ne reçoit rien : les mails ayant comme destinataire root sont envoyés dans nobody.
si root est supprimé, peut-être que ceci explique cela ...
or il y a cette information en bas de mon fichier aliases
En fait, il y avait un cafouillage dans le fichier aliases :
toto: root
donc les mails de toto étaient transmis à root. J'ai supprimé cette ligne et maintenant toto recoit bien ses mails.
donc root n'existe plus dans le fichier /etc/postfix/aliases ???
Par contre, root ne reçoit rien : les mails ayant comme destinataire root sont envoyés dans nobody.
si root est supprimé, peut-être que ceci explique cela ...
or il y a cette information en bas de mon fichier aliases
# Note to the user: You must create the alias above! # The root alias *must* exist under postfix because # postfix runs as a non-privileged user and cannot # touch a spool file which is UID/GID root # The mapping to the postfix user is to ensure that root's mail # doesn't get lost on a system installed out of the box.
hummm sympa ton fichier aliases <3
Non, effectivement root n'avait de ce fait aucun alias dans le fichier.
Donc si je résume : root ne pourra définitivement pas recevoir de mail dans son propre spool/mail.
Pour se faire, un alias devra être créé afin de renvoyer les mails de root vers un compte beta (root: titi par exemple). Ce dernier ayant des privilèges assez souples pour que postfix puisse écrire dans le spool de ce celui-ci.
Non, effectivement root n'avait de ce fait aucun alias dans le fichier.
Donc si je résume : root ne pourra définitivement pas recevoir de mail dans son propre spool/mail.
Pour se faire, un alias devra être créé afin de renvoyer les mails de root vers un compte beta (root: titi par exemple). Ce dernier ayant des privilèges assez souples pour que postfix puisse écrire dans le spool de ce celui-ci.
Je ne comprend pas en quoi le fait que je ne reçois pas les mails envoyés en local dans /var/spool/mail/toto (si je reprend mon exemple) puisse être une source d'attaque serveur.
Pouvez-vous m'éclairer sur ce point ?
J'ai suivis vos conseils et j'ai installé cyrus-imap.
A partir de là, j'ai modifié en conséquence le main.cf en y ajoutant :
mail_transport = cyrus
J'en ai profité pour ajouter :
local_recipient_maps = $alias_maps
avec alias_maps = hash:/etc/postfix/aliases
Le problème reste toujours présent.
toto: root
donc les mails de toto étaient transmis à root. J'ai supprimé cette ligne et maintenant toto recoit bien ses mails.
Par contre, root ne reçoit rien : les mails ayant comme destinataire root sont envoyés dans nobody.
J'ai remarqué que dans postconf figuré la ligne suivante :
default_privs = nobody
Pour test, je l'ai donc changé en mettant :
default_privs = toto
Et cette fois, lorsque j'envoi un mail à root, c'est toto qui le receptionne !
Par contre, si je met :
default_privs = root
Postfix pousse une gueulante lors du reload :
Reloading Postfix configuration...postfix: fatal: file /etc/postfix/main.cf: parameter default_privs: user root has privileged user ID
failed.
Si je comprend bien, les utilisateurs ayant des droits "root" ne sont pas autorisés à recevoir de mail. C'est ca ou je me trompe ?