Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/04/2010, à 20:21

Regenesis

Création d'un serveur de mail avec utilisateurs virtuels

Bonjour !

Je cherche à créer un serveur de mail capable de gérer des adresses pour plusieurs utilisateurs, sans pour autant que ces utilisateurs aient chacun un compte sur ubuntu.

J'ai suivi ce tuto : http://workaround.org/ispmail/sarge (malheureusement en anglais, en français il y a ce tuto moins complet : http://doc.ubuntu-fr.org/postfix_mysql_tls_sasl).

Lorque je réalise l'étape 9 du tuto (étape de test de la configuration), tout se passe comme prévu mis à part que moi je reçois le mail dans /var/mail/regenesis et pas dans /home/vmail/xxx/user/new/.

Je pense que c'est à cause de cela que je ne parviens pas à faire fonctionner mon serveur avec thunderbird (impossible d'envoyer un mail, et impossible d'en recevoir même si thunderbird semble bien réussir à se connecter au serveur).

Quelqu'un aurait-il une suggestion pour résoudre ce problème ?

Sinon, pour le reste du tuto, c'est relativement clair et accessible. Je le conseille à tous mis à part ce petit soucis que je rencontre.

Dernière modification par Regenesis (Le 05/04/2010, à 15:13)

Hors ligne

#2 Le 04/04/2010, à 22:15

Uggy

Re : Création d'un serveur de mail avec utilisateurs virtuels

http://doc.ubuntu-fr.org/tutoriel/comment_soumettre_un_probleme_postfix_sur_le_forum

Hors ligne

#3 Le 04/04/2010, à 22:46

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Merci, je ne connaissais pas ce tuto.

Alors, mon problème actuel c'est que je n'arrive pas à utiliser mon serveur de mail à partir d'un client sur un ordinateur distant.

J'ai suivi le tuto suivant : http://workaround.org/ispmail/sarge

Lorsque j'effectue le test suivant :

regenesis@serveur-regenesis:~$ sudo postfix reload[sudo] password for regenesis: 
postfix/postfix-script: refreshing the Postfix mail system
regenesis@serveur-regenesis:~$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 0428.hd.free.fr ESMTP Postfix (Ubuntu)
ehlo xxxx.hd.free.fr
250-xxxx.hd.free.fr
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<test@xxxx.hd.free.fr>
250 2.1.0 Ok
rcpt to:<regenesis@xxxx.hd.free.fr>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Test.
.
250 2.0.0 Ok: queued as ABD931B360DF
quit
221 2.0.0 Bye
Connection closed by foreign host.
Vous avez du nouveau courrier dans /var/mail/regenesis
regenesis@serveur-regenesis:~$

J'obtiens ceci dans le /var/log/mail.log :

Apr  4 22:32:07 serveur-regenesis postfix/postfix-script[21034]: refreshing the Postfix mail system
Apr  4 22:32:07 serveur-regenesis postfix/master[20168]: reload -- version 2.6.5, configuration /etc/postfix
Apr  4 22:33:27 serveur-regenesis postfix/smtpd[21041]: connect from localhost[127.0.0.1]
Apr  4 22:34:30 serveur-regenesis postfix/trivial-rewrite[21045]: warning: do not list domain xxxx.hd.free.fr in BOTH mydestination and virtual_mailbox_domains
Apr  4 22:34:59 serveur-regenesis postfix/trivial-rewrite[21045]: warning: do not list domain xxxx.hd.free.fr in BOTH mydestination and virtual_mailbox_domains
Apr  4 22:34:59 serveur-regenesis postfix/smtpd[21041]: ABD931B360DF: client=localhost[127.0.0.1]
Apr  4 22:35:18 serveur-regenesis postfix/cleanup[21047]: ABD931B360DF: message-id=<20100404203459.ABD931B360DF@xxxx.hd.free.fr>
Apr  4 22:35:18 serveur-genesis postfix/qmgr[21038]: ABD931B360DF: from=<test@xxxx.hd.free.fr>, size=358, nrcpt=1 (queue active)
Apr  4 22:35:18 serveur-regenesis postfix/trivial-rewrite[21045]: warning: do not list domain 0428.hd.free.fr in BOTH mydestination and virtual_mailbox_domains
Apr  4 22:35:18 serveur-regenesis postfix/local[21048]: ABD931B360DF: to=<regenesis@xxxx.hd.free.fr>, relay=local, delay=48, delays=48/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Apr  4 22:35:18 serveur-regenesis postfix/qmgr[21038]: ABD931B360DF: removed
Apr  4 22:35:26 serveur-regenesis postfix/smtpd[21041]: disconnect from localhost[127.0.0.1]

Résultat du postconf -n :

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_size_limit = 0
mydestination = xxxx.hd.free.fr, localhost, localhost.localdomain
myhostname = xxxx.hd.free.fr
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost = 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_uid_maps = static:5000

Contenu du /var/log/mail.log lors d'une tentative de connexion au compte mail regenesis@xxxx.hd.free.fr via thunderbird depuis un ordinateur distant :

Apr  4 23:52:44 serveur-regenesis imapd: LOGOUT, ip=[::ffff:192.168.0.254], rcvd=208, sent=749
Apr  4 23:53:01 serveur-regenesis imapd: Connection, ip=[::ffff:192.168.0.254]
Apr  4 23:53:04 serveur-regenesis imapd: chdir xxxx.hd.free.fr/regenesis/: No such file or directory
Apr  4 23:53:04 serveur-regenesis imapd: genesis@xxxx.hd.free.fr: No such file or directory

Dernière modification par Regenesis (Le 05/04/2010, à 00:11)

Hors ligne

#4 Le 05/04/2010, à 00:05

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

je n'ai regardé qu'en travers ton postconf, mais déjà, tu devrais peut-être homogénésiser:je pense que le paramètre que tu mets derrière transport_maps aurait plus sa place derrière virtual_transport_maps

Hors ligne

#5 Le 05/04/2010, à 00:06

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

et ne laisse que localhost.localdomain dans my_destination

Hors ligne

#6 Le 05/04/2010, à 00:10

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

enfin ton problème est un problème de serveur imap: il ne trouve pas le dossier où est censé être stocké le courrier comme il le dit lui-même. Sans doute que tu as mal indiqué à ton serveur imap là où il était censé stocké ses trucs, ou que le nom d'utilisateur est mauvais: regenesis ou genesis?

Hors ligne

#7 Le 05/04/2010, à 00:32

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Merci pour tes suggestions !

Oui effectivement c'est un problème de redirection (c'est bien regenesis, j'ai oublié 2 lettres en anonymisant mes copier/coller) dans la configuration du serveur imap. Mais j'ai beau chercher, je ne trouve pas l'erreur.

Voilà mon /etc/courier/authmysqlrc :

MYSQL_SERVER		localhost
MYSQL_USERNAME		regenesis
MYSQL_PASSWORD		xxxx
MYSQL_PORT		0
MYSQL_OPT		0
MYSQL_DATABASE		mail
MYSQL_USER_TABLE	users
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD		5000
MYSQL_GID_FIELD		5000
MYSQL_LOGIN_FIELD	email
MYSQL_HOME_FIELD	'/home/vmail'
MYSQL_MAILDIR_FIELD	CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')

Dernière modification par Regenesis (Le 05/04/2010, à 00:32)

Hors ligne

#8 Le 05/04/2010, à 09:21

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

Déjà il faut changer ça: warning: do not list domain 0428.hd.free.fr in BOTH mydestination and virtual_mailbox_domains

Mais ce n'est pas ce qui te pose problème avec courier. Je ne connais pas courier. Tu peux poster le fichier de conf? Probablement qu'il trouve pas l'endroit où postfix stocke ce qu'il délivre

Hors ligne

#9 Le 05/04/2010, à 11:05

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

J'ai bien corrigé le problème provoquant le warning.

Le seul fichier de configuration que j'ai modifié pour courier c'est celui que j'ai posté dans mon précédent message. Veux-tu voir les autres ?

Hors ligne

#10 Le 05/04/2010, à 11:41

Uggy

Re : Création d'un serveur de mail avec utilisateurs virtuels

impossible d'envoyer un mail

Donne nous le log au moment d'une tentative d'envoi SMTP.

Le log ci-dessous prouve que Postfix accepte des mails

Apr  4 22:35:18 serveur-regenesis postfix/local[21048]: ABD931B360DF: to=<regenesis@xxxx.hd.free.fr>, relay=local, delay=48, delays=48/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)

et impossible d'en recevoir même si thunderbird semble bien réussir à se connecter au serveur).

Impossible d'en recevoir en SMTP sur le serveur ? D'en recevoir en Imap sur le client ?

Apr  4 23:53:04 serveur-regenesis imapd: chdir xxxx.hd.free.fr/regenesis/: No such file or directory

Le log parle de lui meme. Problème de configuration Imap.
Donc essaye de corriger ta conf... et sinon donne ta conf Imap.. peut etre des gens pourront t'aider.

Hors ligne

#11 Le 05/04/2010, à 13:31

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

j'imagine qu'il y a un /etc/courier/courier.conf ou quelque chose s'y approchant. Vérifie que tu lui as bien mis où trouver les dossiers mails des utilisateurs, ou plutôt poste pour voir

Hors ligne

#12 Le 05/04/2010, à 14:18

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Bonjour,

En faisant les corrections suggérées par baloum, ainsi qu'en virant les "proxy" de /etc/postfix/main.cf, j'ai eu la bonne surprise de constater la résolution de mes problèmes de connexion !
Je ne vois plus aucun message d'erreur dans le mail.log.
Le dossier /home/vmail contient désormais un dossier portant le nom de mon adresse email, comme prévu.

Maintenant, seconde étape : créer d'autres utilisateurs virtuels et vérifier le bon acheminement de leurs mails. Je vous tiens au courant.

Merci de m'avoir consacré un peu de votre temps.

Hors ligne

#13 Le 05/04/2010, à 14:34

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Re,

Aucun problème pour créer de nouveaux utilisateurs virtuels.
Aucun problème pour transférer leurs mails vers une adresse principale.
Aucun problème pour installer un webmail (roundcube) et configurer sa connexion au serveur de mails.

big_smile

Hors ligne

#14 Le 05/04/2010, à 15:12

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

J'ai parlé un peu vite hmm

En fait il reste un petit souci : je ne peux envoyer des messages que vers moi-même ou vers mes utilisateurs virtuels.

Apr  5 15:07:28 serveur-regenesis postfix/smtpd[23368]: connect from unknown[192.168.0.254]
Apr  5 15:07:28 serveur-regenesis postfix/smtpd[23368]: 605921B36125: client=unknown[192.168.0.254]
Apr  5 15:07:28 serveur-regenesis postfix/cleanup[23378]: 605921B36125: message-id=<4BB9E0D5.8060303@0428.hd.free.fr>
Apr  5 15:07:28 serveur-regenesis postfix/qmgr[23156]: 605921B36125: from=<regenesis@xxxx.hd.free.fr>, size=550, nrcpt=1 (queue active)
Apr  5 15:07:28 serveur-regenesis postfix/virtual[23379]: 605921B36125: to=<regenesis@0428.hd.free.fr>, orig_to=<virtuel1@xxxx.hd.free.fr>, relay=virtual, delay=0.02, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Apr  5 15:07:28 serveur-regenesis postfix/qmgr[23156]: 605921B36125: removed
Apr  5 15:07:28 serveur-regenesis postfix/smtpd[23368]: disconnect from unknown[192.168.0.254]
Apr  5 15:07:52 serveur-regenesis postfix/smtpd[23368]: connect from unknown[192.168.0.254]
Apr  5 15:07:52 serveur-regenesis postfix/smtpd[23368]: NOQUEUE: reject: RCPT from unknown[192.168.0.254]: 554 5.7.1 <xxxx@gmail.com>: Relay access denied; from=<genesis@0428.hd.free.fr> to=<xxxx@gmail.com> proto=ESMTP helo=<[192.168.0.10]>
Apr  5 15:08:02 serveur-regenesis postfix/smtpd[23368]: lost connection after RCPT from unknown[192.168.0.254]
Apr  5 15:08:02 serveur-genesis postfix/smtpd[23368]: disconnect from unknown[192.168.0.254]

Hors ligne

#15 Le 05/04/2010, à 16:06

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

c'est probablement de ce côté que ça bugue: smtpd_recipient_restrictions Est-ce que tu pourrais donner le transcript entier de la transaction smtp? Si tu utilises claws-mail par exemple, les traces. Ou tu peux aussi, temporairement, mettre ça dans ton postfix.conf, ça peut t'aider:

notify_classes = bounce, delay, policy, protocol, resource, software

avec une adresse notify qui est posmaster@cheztoi.fr par défaut. Tu trouveras à cette adresse le transcript des connexions foireuses.
Je n'ai jamais cherché à comprendre en détail toutes les règles anti-spam et anti-open-relay, mais tu peux aussi t'inspirer des miennes ici: http://forum.ubuntu-fr.org/viewtopic.php?id=387870 Et après, n'oublie pas de vérifier que tu n'est pas un open-relay: http://www.abuse.net/relay.html

Hors ligne

#16 Le 05/04/2010, à 17:10

Uggy

Re : Création d'un serveur de mail avec utilisateurs virtuels

Regenesis a écrit :

Apr  5 15:07:52 serveur-regenesis postfix/smtpd[23368]: connect from unknown[192.168.0.254]
Apr  5 15:07:52 serveur-regenesis postfix/smtpd[23368]: NOQUEUE: reject: RCPT from unknown[192.168.0.254]: 554 5.7.1 <xxxx@gmail.com>: Relay access denied; from=<genesis@0428.hd.free.fr> to=<xxxx@gmail.com> proto=ESMTP helo=<[192.168.0.10]>

Modifie:
mynetworks = 127.0.0.0/8    192.168.0.0/24

Hors ligne

#17 Le 05/04/2010, à 22:37

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Super Uggy, tu as trouvé le problème ! L'envoi et la réception des mails marchent désormais parfaitement, tout comme le transfert des boites virtuelles vers la boite principale. Encore merci pour ton aide, la configuration d'un serveur de mail est très laborieuse mais aussi enrichissante.

Je tente désormais de transférer les mails de ma boite gmail vers mon serveur de mail. Pour cela j'utilise fetchmail. Malheureusement, l'envoi d'un mail (via mon compte hotmail) sur gmail se solde par :
1) L'arrivée du message sur gmail (ce qui semble normal !)
2) L'arrivée du message ci-dessous sur hotmail (en provenance de MAILER-DAEMON@xxxx.hd.free.fr) :

This is the mail system at host xxxx.hd.free.fr.
 
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
 
For further assistance, please send mail to postmaster.
 
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
 
                   The mail system
 
<regenesis@localhost>: mail for localhost loops back to myself

Je pense que la solution se trouve dans la bonne compréhension de la dernière ligne...
Des suggestions ?

Dernière modification par Regenesis (Le 05/04/2010, à 22:38)

Hors ligne

#18 Le 06/04/2010, à 02:32

Uggy

Re : Création d'un serveur de mail avec utilisateurs virtuels

http://doc.ubuntu-fr.org/tutoriel/comment_soumettre_un_probleme_postfix_sur_le_forum

Hors ligne

#19 Le 06/04/2010, à 13:07

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Pardon tongue

Lorsque j'envoie un mail depuis mon compte hotmail vers mon compte gmail, lui-même "fetchmailisé" sur mon serveur de mails, j'obtiens :

regenesis@serveur-regenesis:~$ fetchmail
fetchmail: fetchmail en tâche de fond (5437) a été réactivé.
Vous avez du nouveau courrier dans /var/mail/regenesis
Apr  6 13:00:51 serveur-regenesis postfix/smtpd[30959]: connect from localhost[127.0.0.1]
Apr  6 13:00:51 serveur-regenesis postfix/smtpd[30959]: EA4661B360DF: client=localhost[127.0.0.1]
Apr  6 13:00:52 serveur-regenesis postfix/cleanup[30962]: EA4661B360DF: message-id=<SNT112-W13E31F216DA1E397DCEDBFD1180@phx.gbl>
Apr  6 13:00:52 serveur-regenesis postfix/qmgr[24962]: EA4661B360DF: from=<xxxx@hotmail.com>, size=2723, nrcpt=1 (queue active)
Apr  6 13:00:52 serveur-regenesis postfix/local[30963]: EA4661B360DF: to=<regenesis@localhost>, relay=local, delay=0.24, delays=0.22/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)
Apr  6 13:00:52 serveur-regenesis postfix/qmgr[24962]: EA4661B360DF: removed
Apr  6 13:00:52 serveur-regenesis postfix/smtpd[30959]: disconnect from localhost[127.0.0.1]
Apr  6 13:01:06 serveur-regenesis imapd: Connection, ip=[::ffff:192.168.0.254]
Apr  6 13:01:06 serveur-regenesis imapd: LOGIN, user=regenesis@xxxx.hd.free.fr, ip=[::ffff:192.168.0.254], port=[35914], protocol=IMAP
Apr  6 13:01:06 serveur-regenesis imapd: LOGOUT, user=regenesis@xxxx.hd.free.fr, ip=[::ffff:192.168.0.254], headers=0, body=0, rcvd=79, sent=562, time=0

Dernière modification par Regenesis (Le 06/04/2010, à 13:07)

Hors ligne

#20 Le 06/04/2010, à 13:16

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

Autorésolu en changeant :

poll imap.gmail.com protocol imap:
user "xxxx@gmail.com" with password "xxxx", is "regenesis" here, options ssl;
poll imap.gmail.com protocol imap:
user "xxxx@gmail.com" with password "xxxx", is "regenesis@xxxx.hd.free.fr" here, options ssl;

dans   ~/.fetchmailrc

cool

Hors ligne

#21 Le 06/04/2010, à 15:26

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

J'ai une petite question au sujet de roundcube : niveau sécurité, le fait d'avoir des logins et des mots de passe dans les dossiers de config, sur le /www, c'est pas dangereux ?

Hors ligne

#22 Le 06/04/2010, à 20:11

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

peut-être qu'avec un .htaccess ça irait déjà mieux. Globalement je stocke rien d'important dans /var/www par précaution. Parce que quelqu'un qui connaît l'adresse du fichier de config , il lui suffit de la demander au serveur, et avec un peu de malchance, il a le fichier en question. Je dis ça, en même temps je me suis jamais intéressé à la sécurité d'un serveur web plus que pour mon propre webmail, qui est squirrelmail, et qui ne stocke rien dans /var/www que l'appli déjà dispo sur internet

Hors ligne

#23 Le 06/04/2010, à 20:21

Regenesis

Re : Création d'un serveur de mail avec utilisateurs virtuels

En fait, le fichier en question est un .php, donc en toute logique le serveur web ne doit pas permettre son téléchargement tel quel. Mais je trouve cela un peu dangereux tout de même. Et surtout je ne vois pas comment me protéger davantage.

Hors ligne

#24 Le 06/04/2010, à 21:17

baloum

Re : Création d'un serveur de mail avec utilisateurs virtuels

met ta cagoule? Dsl, c'est la minute pourrave, moi, je suis incompétent total là-dessus. Regarde comment les autres font dans les tutos sur roundcube, et les notes (importants!) dans les paquets, sinon je ne sais pas

Hors ligne