Debian, Postfix - problème aiguillage des mails

Bonjour,

Je viens vous voir pour avoir une piste de réflexion à mon problème que je n’arrive pas à résoudre.
J’ai un serveur debian squeeze et j’essaye d’installer postfix, dovecot, roundcube le tout avec mysql.

L’installation se passe correctement, je peux envoyer des mail, je peux recevoir des mail. Le problème que je rencontre, c’est que postfix, lorsque je reçois un mail, le place dans /var/mail/user .
Et dovecot lit les mails dans /var/mail/domaine/user/…

Je ne peut donc pas récupérer mes mails avec un client ou via roundcube. Le seul moyen de les lire c’est en utilisant un terminal et la commande suivant$mail (la lecture des mails par terminal n’est pas très pratique)

Donc voilà je n’arrive pas à faire coïncider les deux programmes ensemble. pour info, j’ai suivie le tuto suivant … https://www.isalo.org/wiki.debian-fr/Installation_sur_une_Squeeze_d%27un_serveur_mail_complet_%28Postfix_Postfixadmin_Dovecot_Mysql_Amavisd-new_Spamassassin_Clamav_Postgrey_Squirrelmail_Roundcube%29_avec_gestion_des_filtres_Imap_et_des_quotas

Il y a surement une étape que j’ai du mal faire, mais je ne suis pas arrivé à trouver laquelle. Si quelqu’un a une idée, je veux bien un peu d’aide :slightly_smiling:

[quote=“leeoon”]Bonjour,
c’est que postfix, lorsque je reçois un mail, le place dans /var/mail/user .
Et dovecot lit les mails dans /var/mail/domaine/user/…[/quote]
=> normal que ça marche pas, tu confond utilisateurs système (/var/mail/user) et utilisateurs virtuels (/var/mail/domaine/user/).

Il faut configurer postfix de telle sorte que le path des maildir des utilisateurs virtuels soit dans /var/mail/domaine/user/

Bonjour,

Dsl de la réponse tardive.
J’ai essayé de regarder un peu par rapport à ce que tu m’a dis.

Donc j’ai bien compris le principe, pas de problèmes.
Après dans la pratique j’ai plus de mal.

Dans mon /etc/postfix/main.cf, j’ai les paramètres de config suivants

[code]virtual_uid_maps = static:3000
virtual_gid_maps = static:3000
virtual_mailbox_base = /home/vmail

virtual_transport = dovecot

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf
[/code]

Je me sert d’une base MySQL dans laquelle j’ai les différents paramètres de compte, dont leurs maildir. Les parametres de config de la base se trouvent dans “mysql_virtual_mailbox_maps.cf”. Le code SQL est bon.

C’est donc après, que je ne comprend pas pourquoi postfix n’utilise pas cette mailbox virtuelle plutôt que la mailbox usersys

[quote=“leeoon”]
C’est donc après, que je ne comprend pas pourquoi postfix n’utilise pas cette mailbox virtuelle plutôt que la mailbox usersys[/quote]

Il ne faut pas tout mélanger.

Les mailbox système (càd /var/mail/utilisateur_système), c’est pour les utilisateurs système.

Les mailbox virtuel (càd le chemin que tu as précisé dans le paramètre virtual_mailbox_base de main.cf), c’est pour les utilisateurs virtuels, càd pas les utilisateurs système.

Donc avec postfix, tu as déjà par défaut les mailbox système pour les utilisateurs système, et tu peux EN PLUS, créer des mailbox virtuels pour les utilisateurs virtuels.

Tu ne peux pas mettre le courrier des utilisateurs système dans les mailbox virtuels,
ni mettre le courrier des utilisateurs virtuels dans les mailboxs système, sinon c’est le désordre.

Et c’est idem pour dovecot :
dans le(s) fichier(s) de configuration de dovecot, tu dois indiquer où se trouve les mailbox des utilisateurs système, et où se trouve les mailbox des utilisateurs vituels.

Il ressemble à quoi ton fichier de configuration de dovecot ?

As tu crée des utilisateurs dans ta BDD virtuel avec postfixadmin ou @lamain ?
Tu dis les mails fonctionnent, c’est à dire ?
T’arrives à fare un :

echo test | mail -s "Premier test SMTP" uservirtuel@domainevirtuel.tld ?
Quel est le retour dans le terminal?
Qu’as tu à ce moment la dans ton mail.info ?

Peut être , que ton soucis viens de la ligne :

[quote]mail_location = maildir:/var/mail/%d/%n:INDEX=/var/mail/%d/%n/indexes[/quote] ?

Après si t’as fait un mail leeoon, t’etonnes pas qu’il arrive pas au bon endroit, comme dis fluo, c’est que tu confonds les users physiques & virtuels.

Re salut à tous.
J’avance tant bien que mal, grâce à vous ^^

Déjà, mon dovecot.conf

## Dovecot configuration file

#protocols = imap imaps pop3 pop3s
protocols = imap

log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_privileged_group = vmail

disable_plaintext_auth = no
mail_location = maildir:/home/vmail/%d/%n:INDEX=/home/vmail/%d/%n/indexes

protocol imap {
}
protocol pop3 {
}
protocol managesieve {
}

protocol lda {
  postmaster_address = admin@mondomain.fr
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
  auth_socket_path = /var/run/dovecot/auth-master
}

auth default {
        mechanisms = PLAIN LOGIN
        userdb sql {
        args = /etc/dovecot/dovecot-mysql.conf
        }
        passdb sql {
        args = /etc/dovecot/dovecot-mysql.conf
        }
 socket listen {
  master {
  path = /var/run/dovecot/auth-master
  mode = 0600
  user = vmail
  }
  client {
  path = /var/spool/postfix/private/auth
  mode = 0660
  user = postfix
  group = postfix
  }
 }
}
dict {
}
plugin {
}

ssl_cert = </etc/ssl/mail.pem
ssl_key = </etc/ssl/mail.key

Ensuite, où j’en suis.

#----------
Création de comptes

Oui j’ai une BDD postfix et dovecot.
Je crée deux adresses mail avec postfixadmin ( user2@virtualdomain.fr )
Les mails sont créés dans les deux BDD, et j’accède à leurs boites via roundcube.

Jusque là, OK

#----------
Test envoi de mail depuis roundcube

Envoi depuis user1@mondomain.fr sur compte gmail: OK, bonne réception
Envoi depuis user2@virtualdomain.fr sur compte gmail: OK, bonne réception

Jusque là, OK, plutôt satisfait

#----------
Test envoi depuis gmail sur mes adresses

Envoi sur user1@mondomain.fr: NOK, pas de réception sur roundcube, ni dans “$ mail”, mail disparu
Envoi sur user2@virtualdomain.fr: OK, bonne réception
Pour info, envoi sur userUNIX@mondomain.fr: réception dans “$ mail”

Donc si je résume,
pour envoyer un mail depuis mon serveur, c’est OK.
pour envoyer sur mon serveur, deux cas:
[ul]envoi sur @mondomain.fr => traité comme compte system, si user existe OK sinon aux oubliettes
envoi sur @virtualdomain.fr => traité correctement par postfix et dovecot[/ul]

Donc voilà où j’en suis.
Ce que je voudrais c’est pouvoir créer des utilisateurs virtuels avec mon domaine NON virtuel. Et ensuite pouvoir réceptionner ces mail et les lires avec roundcube ou un autre client à terme.

Après je me trompe peut-être encore entre user physique et virtuel. Peut-être que je saisie encore mal les possibilités qui peuvent exister entre user physique et virtuel. Dans ce cas là je suis mal parti dès le départ.

Pour faire simple, ce que je veux à la base, c’est:
[ul]- un serveur mail ou je peux créer des usermail sous mon domaine (user3@mondomain.fr, …)

  • Pouvoir me connecter à ce serveur avec un client (thunderbird)
  • Éventuellement un client web (roundcube)
    [/ul]

Je suis donc peut-être parti dans la mauvaise direction dès le départ. Dans ce cas là je m’excuse, et quelle serait la bonne direction à suivre.

Merci déjà pour tous ces éclaircissements.

Salut,
Des simples alias ne suffisent pas ?

Genre:

[quote=“lol”]Salut,
Des simples alias ne suffisent pas ?

Genre:

Hum … négatif.
Dans postfixadmin, tu ne peux pas aliaser un user sans son domain.
Dans le doute, j’ai essayé de faire différents alias, mais sans succès.

Du coup j’ai orienté un peu différemment mes recherches sur google. Et je me dis que je peux faire complétement abstraction des domaines virtuels.
La méthode qui semble la plus courante, est celle de créer un user UNIX par user mail ( créer l’utilisateur “toto” pour "toto@mondomain.fr" ).
Je me dis donc pourquoi pas, d’autant plus que la configuration de dovecot et postfix semble plus simple. Par contre je n’est pas forcement envie que ces users UNIX possèdent un répertoire dans “home” car se serait seulement des users mail, sans avoir accès a un quelconque autre service du serveur.

Est-ce que vous pensez que cela peut être une méthode qui peut fonctionner?
Est ce que l’on peut faire fonctionner un système avec des users sans /home/users ?
Est-ce une méthode qui n’est pas trop lourde pour le serveur ?
Est-ce qu’une autre méthode serait plus approprié et plus efficace ?

Merci ^^

Re,
Effectivement. le tuto suivi n’est que pour des domaine (et utilisateurs) virtuels.
Tu peux très bien créer des utilisateurs sans /home et sans aucun droits sur le système.

C’est effectivement la configuration la plus simple pour un serveur mail, pas de base sql…

OK, merci "lol"
bon ba je crois que je vais repartir de zéro et aller dans ce sens là dans un premier temps.

Étant débutant dans les serveurs mails, j’ai mal définis mon besoin au départ.
C’est en faisant des erreurs qu’on apprend, hein ^^

Merci en tous cas, je vais essayer ça rapidement. Je laisse le topic ouvert pour le moment, je le fermerais ou le solderais en fonction de mes résultats.

Si certains ont d’autres propositions d’ici là, je suis preneur hein :slightly_smiling: