• Serveurs
  • [Discussion] Installer un serveur de mail avec Postfix et Dovecot

Tu peux utiliser un fichier contenant les adresses virtuelles (virtual alias table) que tu souhaites rediriger.
# /etc/postfix/main.cf

virtual_alias_maps = hash:/etc/postfix/virtual
Puis :
# /etc/postfix/virtual

root root@localhost
clamav root@localhost
Ensuite il faut mettre à jour la table et redémarrer postfix :
postmap /etc/postfix/virtual
service postfix restart
Plus d'info ici : http://www.postfix.org/virtual.5.html
OK merci. Du coup pour virtual_alias_maps j'obtiens :
# /etc/postfix/main.cf

virtual_alias_maps = hash:/etc/postfix/virtual, mysql:/etc/postfix/mysql-virtual-alias-maps.cf
Test :
mail -s Test root
=> Extrait de log :
Feb 23 18:17:15 domain postfix/pickup[30310]: 4CAEC2460A8A: uid=0 from=<root>
Feb 23 18:17:15 domain postfix/cleanup[30368]: 4CAEC2460A8A: message-id=<20150223171715.4CAEC2460A8A@domain.tld>
Feb 23 18:17:15 domain opendkim[17453]: 4CAEC2460A8A: DKIM-Signature header added (s=mail, d=domain.tld)
Feb 23 18:17:15 domain postfix/qmgr[30311]: 4CAEC2460A8A: from=<root@domain.tld>, size=432, nrcpt=1 (queue active)
Feb 23 18:17:16 domain postfix/local[30372]: 4CAEC2460A8A: to=<root@localhost>, orig_to=<root>, relay=local, delay=1.1, delays=0.09/0.02/0/1, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 23 18:17:16 domain postfix/qmgr[30311]: 4CAEC2460A8A: removed
Petit problème : au final procmail stocke ça dans /var/mail/nobody. Pourquoi "nobody" et pas "root" ?
Parce qu'il connait pas cette adresse virtuelle, tu dois rediriger vers une adresse existante ou créer un lien symbolique vers la boite de root. Il me semble que procmail est lancé avec l'utilisateur nobody donc c'est pour ça qu'il prend se nom là, à confirmer.
OK. Bon ça me semble pas simple cette gestion des mails des users système... Je laisse tomber pour l'instant.
Merci de ton aide Hardware.

Sinon pour info, j'ai également été étonné de la maturité de Rainloop pour son jeune âge. En cherchant un peu il se trouve que c'est un ex-employé d'Afterlogic qui a fork leur webmail et qui a été viré, plus d'infos ici : https://github.com/RainLoop/rainloop-webmail/issues/450#issuecomment-74540148
Sympa je connaissais pas l'histoire derrière Rainloop. Bon d'après de ce que j'ai compris, c'est Usenko Timur qui est l'auteur principal de la librairie derrière Rainloop (MailSo) et il avait mis la licence MIT donc AfterLogic n'a donc aucun droit dessus, apparement il a fait ça pendant son temps libre. Après moralement c'est peut-être discutable puisque il a surement utilisé, même un peu, les connaissances accumulées et le R&D de son ancien job. Mais sur ce point là c'est bien la licence MIT qui devrait lui éviter d'éventuelles poursuites.
Bonjour,

J'ai effectué le tuto et tout semble fonctionner correctement mis à part le fait que je ne puisse qu'envoyer des mails et non en recevoir.
L'erreur suivante est envoyé par le Mail Delivery Subsystem.
Delivery to the following recipient failed permanently: 

contact@domain.ltd

Technical details of permanent failure: 
Google tried to deliver your message, but it was rejected by the server for the recipient domain domain.ltd by mail.ip.serveurkimsufi. [XXX.XXX.XX.XX]. 

The error that the other server returned was: 
553 sorry, that domain isn't allowed to be relayed thru this MTA (#5.7.1) (mail138.ha.ovh.net, smtpauth: no) 
Même problème lorsque j'envoi un mail à contact@ip.serveurkimsufi sauf que cette fois-ci, l'adresse en cause est redirect.ovh.net.

Je penche pour un problème de configuration DNS au niveau du MX mais je ne vois pas trop comment régler le problème...

Merci d'avance.
Tu peux me passer ton nom de domaine s'il te plait ?
Tiens j'avais le même probleme.
Tiens j'avais le même probleme.
Pour moi c'est un problème DNS, l'erreur est très clair sur le problème :
553 sorry, that domain isn't allowed to be relayed thru this MTA (#5.7.1) (mail138.ha.ovh.net, smtpauth: no) 
Dans la zone de ton domaine, tu as du laisser les MX d'ovh ( mx0.ovh.net...etc ) par défaut, donc lorsque tu envoies un message via Gmail, Google contacte les MTA d'OVH, sauf que le problème c'est que serveurs d'OVH sont pas configurés pour prendre en charge ton domaine (isn't allowed to be relayed) donc tu ne reçois rien.

Dans ta zone, tu dois configurer correctement les enregistrements MX comme dans le tuto :
tondomaine.tld. IN  MX  10 hostname.tondomaine.tld.

# Facultatif, MX de fallback au cas où ton serveur tombe
tondomaine.tld. IN  MX  50 ns0.ovh.net.
Mon nom de domaine est pierrick.tk et pourtant, la configuration de BIND semble être la bonne.
Petite proposition de fix pour le tuto : distinguer les dossiers "home" et "mail" des utilisateurs virtuels, comme préconisé dans le lien suivant http://wiki2.dovecot.org/VirtualUsers/Home

Pourquoi ? En jouant avec Sieve, j'ai commencé à voir des dossiers non souhaités s'afficher dans mon webmail.

Le fix consiste à ajouter "/mail" en fin de mail_location (ne pas oublier d'adapter le crontab de SpamAssassin) :
# vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/mail/vhosts/%d/%n/mail
Pour déplacer les données de mes utilisateurs existants j'ai utilisé les commandes suivantes (depuis chaque dossier utilisateur) :
mkdir -m 700 mail
chown vmail mail
find . -maxdepth 1 -mindepth 1 -not -name sieve -not -name mail -not -name ".dovecot.*" -print0 | xargs -0 mv -t mail/
Bonne idée, je vais modifier le tuto.
Petite question.
Y a pas moyen de renvoyer des emails automatiques quand une personne nous envoie un mail sur un adresse.
Par exemple no-reply@mondedie.fr envoyer un mail comme quoi il faut pas envoyer de mail ici ^^

Si je fais mon petit feedback
- mise en place d'un mot de passe pour postfixadmin (dans nginx) ?
- le compte mail admin@domain.tld n'est pas créé.
- mauvais lien https://postfixadmin.domain.tld/login.php
- dire d'installer php5-imap

Bon sinon le tuto est au top, très bien expliqué, très clair, tu cites les sources etc
20/20 😀
Salut Hardware ça roule ?

Dis moi je viens de me faire bannir des serveurs d'Orange à l'instant...lol, voici ce que j'ai en retour :
####################################################################
# THIS IS A WARNING ONLY.  YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################

Your message could not be delivered for more than 4 hour(s).
It will be retried until it is 5 day(s) old.

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

<dwag@wanadoo.fr>: delivery temporarily suspended: host
    smtp-in.orange.fr[80.12.242.9] refused to talk to me: 421 mwinf5c59 ME Trop
    de connexions, veuillez verifier votre configuration. Too many connections,
    slow down. OFR005_104 [104]
J'ai suici ces conseils sur cette page, tu en penses quoi ? En attendant j'ai couper mon script d'emailing parceque la je recevais pleins d'erreurs, j'espère que postfix ma me nettoyer ma queue corectement.
En fait j'ai un cron PHP qui tourne et qui me permet d'envoyer mes emailings, j'ai une grosse base d'email et je réalise des campagnes dessus. Que me conseille-tu en termes de fréquences d'envoie. Là pour le moment mon script tourne toutes les 30 mins et envoie 2 000 emails à chaque fois avec une latence de 1sec entre chaque envoie. Quels seraient pour toi la fréquence idéale afin que la queue de postfix n'explose pas constamment ? Merci
Salut HArdware concernant ton tableaux pour faire les tests de réception chez microsoft, est-ce que je peux le remplir aussi?
J'utilise un raspberry pi b+, les mails sont reçu mais dans les spams.

Si oui j'indique quoi dans la case : "Hebergeur/offre" ?
Magicalex wrote: Si je fais mon petit feedback :
- mise en place d'un mot de passe pour postfixadmin (dans nginx) ? ça dépend des besoins de l'utilisateur, je ne fait rien ce sur point là.
- le compte mail admin@domain.tld n'est pas créé. Ok, j'ai modifié le tuto pour que ça soit plus clair sur ce point là.
- mauvais lien https://postfixadmin.domain.tld/login.php Ok, corrigé
- dire d'installer php5-imap Ok, ajouté
Merci pour le feedback.
Magicalex wrote: Y a pas moyen de renvoyer des emails automatiques quand une personne nous envoie un mail sur un adresse.
Par exemple no-reply@mondedie.fr envoyer un mail comme quoi il faut pas envoyer de mail ici ^^
Tu peux utiliser une règle sieve pour renvoyer une réponse automatique ou utiliser un plugin d'auto-reply. Le plus simple c'est de faire quelque chose comme ça :
require "vacation";
vacation :days 3600 :addresses ["no-reply@mondedie.fr"]
"Merci de ne pas répondre sur cette adresse mail.";
Puis de modifier la configuration de Dovecot :
plugin {
  sieve_vacation_min_period = 1h
  sieve_vacation_default_period = 7d
  sieve_vacation_max_period = 10y
}
Bon en faisant comme ça tu détournes un peu l'usage du module "vacation", mais bon ça devrait marcher, à toi de voir.

@paftek : J'ai ajouté ta suggestion

@momos73 : Pour moi la solution fournie dans le lien que tu as donné est la bonne, après au niveau de la fréquence je sais pas du tout, ça dépend de la politique appliquée sur les serveurs d'Orange.

@Gravefield : Tu peux mettre "Auto-hébergement"
J'ai pensé à un truc sur les problèmes de SPAM de Microsoft, si on prendrais un certificat SSL valide est-ce que ça ne corrigerait pas le problème par hasard ? Il se peut que Microsoft vérifie désormais la validation du certificat SSL ?

T'en pense quoi ?
C'est possible que ce soit un critère oui. De toute manière on peut pas avoir confiance dès lors que le certificat est auto-signé, sauf si tu es le créateur du certificat ou que tu connais son empreinte.