web-dev-qa-db-fra.com

Comment configurer un serveur de messagerie?

Mon VPS fonctionne sous Ubuntu et j'aimerais pouvoir recevoir du courrier électronique sur mon domaine.

Comment puis-je configurer facilement un serveur de messagerie pour le faire?

59
Stefano Palazzo

Voici comment j'ai configuré le courrier sur nos machines de production. Ce sont les critères dont nous avions besoin:

  • Comptes mail
  • Alias ​​de messagerie (redirecteurs)
  • IMAP, POP3 et SMTP

"Facile" (tl; dr)

Premièrement, je veux aborder ce qui semble être la solution la plus simple.

Sudo tasksel install mail-server

Plusieurs problèmes liés à cela se sont produits lorsque nous avons essayé ceci: D'abord, il installe Dovecot, ce qui convient à la plupart des utilisateurs, mais nous avons considéré que Courier était le meilleur des deux pour nos besoins. Deuxièmement, il utilise Postfix, ce qui est excellent, mais nous avons également besoin d’Exim, car il s’agit d’un serveur MTA/SMTP plus puissant. Troisièmement, il installe MySQL - dans la configuration que j'utilise, nous préférons les fichiers plats pour la configuration, car c'est un point de rupture de moins. Pensez à ce qui se passerait si MySQL plantait pour une raison inconnue. Sinon, le reste des paquets est assez simple et facile à gérer pour un petit service de messagerie (pensez à un ou deux domaines de messagerie au total).

Notre configuration

Structure du répertoire

Nous nous écartons légèrement du chemin des configurations normales, mais cela facilite la gestion.

Tout notre courrier est stocké dans /var/mail/virtual/<domain>/<user>/mail Ainsi, pour les exemples futurs, je vais utiliser [email protected], [email protected], [email protected] pour représenter une adresse électronique, un expéditeur pour accéder à [email protected] et une adresse incorrecte, respectivement. Dans l'exemple ci-dessus, il s'agirait de /var/mail/virtual/example.com/email/mail.

Je maintiens également une liste de tous les domaines sur le serveur dans /etc/valiases mais plus à ce sujet plus tard.

Postfix

C'est plus ou moins la partie facile de la configuration. Installez simplement le package postfixname__.

Exim

Installez Exim avec apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy Une fois installé, vous devrez éditer la configuration par défaut d’exim pour remplacer ou ajouter les valeurs suivantes:

domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes

(Ces lignes apparaîtront dans différentes parties du fichier, remplacez-les en conséquence)

Une fois cette opération terminée, reconstruisez la configuration exim avec update-exim4.conf Ceci conclut les modifications requises pour Exim.

Courrier

Installez Courier avec courier-base, ceci devrait installer courier-authdaemon, courier-authlib*, courier-imap*, courier-pop*, courieruserinfoname__, courier-ssl

Honnêtement, il n'y a pas beaucoup de configuration en dehors de la norme. Vous aurez juste besoin de créer une base de données d'utilisateurs.

Comptes

Exim et Courier vérifient à quelques endroits si un identifiant ou un email entrant est valide. Exim vérifie si le domaine est répertorié en tant que nom d'hôte local, ou s'il est dans /var/mail/virtual ou si le domaine est dans /etc/valiases.

Création de comptes de messagerie

J'ai finalement créé plusieurs outils pour rationaliser ce processus - mais l'ajout d'un nouvel utilisateur va à l'accord:

mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/

Ajoutez ensuite l'adresse à la messagerie userdb - pour qu'elle puisse se connecter

userdb [email protected] set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail

Assurez-vous de remplacer les valeurs le cas échéant. Également - uidet gidneed être l'identifiant numérique d'utilisateur/de groupe pour l'utilisateur de messagerie.

userdbpw -md5 | userdb [email protected] set systempw

Cela vous demandera un mot de passe, entrez celui que vous souhaitez utiliser pour le compte.

makeuserdb

Enfin, générez les fichiers hash/shadow userdb. Redémarrez Courier et vérifiez si vos modifications fonctionnent:

authtest [email protected]

Devrait produire quelque chose de similaire à

Authentication succeeded.

     Authenticated: [email protected]  (uid 8, gid 8)
    Home Directory: /var/mail/virtual/example.com/email
           Maildir: /var/mail/virtual/example.com/email/mail
             Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
           Options: (none)

Si vous voyez "Échec de l'authentification: opération non autorisée", éditez/etc/courier/authdaemonrc et ajoutez authuserdb à la ligne authmodulelist.

Une fois tous les tests confirmés, redémarrez les différents services concernés (courier-authdaemon, exim4), ouvrez les ports 143, 25, 586, 495, 110 et configurez les comptes dans votre client de messagerie préféré.

Création d'alias de messagerie

Pour chaque domaine, vous devez créer un fichier dans /etc/valiases (créer s'il n'existe pas) avec au moins la ligne suivante:

*: :fail: No user at this address.

Ce que cela dit: Si le courrier entrant ne correspond à aucun compte de messagerie que j'ai au dossier, alors le courrier doit échouer et être renvoyé avec le message: "Aucun utilisateur à cette adresse". Donc, tous les courriers envoyés à dire: [email protected] seront renvoyés comme un échec.

Cependant, nous avons quelques adresses e-mail que nous souhaitons conserver ailleurs - par exemple [email protected] - pour ce faire, nous devons créer /etc/valiases/example.com et le contenu du fichier devrait être le suivant:

fwd: [email protected]
*: :fail: No user at this address.

Ainsi, même si [email protected] ne correspond à aucun compte de messagerie sur le serveur, il correspond dans le fichier /etc/valiases et le courrier sera transféré à [email protected]. Cependant, [email protected] échouera quand même. avec un message "Aucun utilisateur à cette adresse".

48
Marco Ceppi

Le moyen le plus simple consiste à exécuter Sudo tasksel install mail-server. Cela vous donnera un serveur de messagerie avec des valeurs par défaut sane. Tout ce que vous avez à faire est de répondre à quelques questions. De toute évidence, vous pourrez toujours faire des configurations manuelles par la suite si cela est nécessaire, mais dans la plupart des cas, ce ne sera pas le cas. Il suffit de suivre les instructions à l'écran et tout devrait bien se passer.

Il est toutefois vivement recommandé de se renseigner sur l'administration des services de messagerie.

Références officielles:

14
Jo-Erlend Schinstad

Je n'ai pas de "bonne réponse", mais ces liens peuvent vous être utiles https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail et https: // help .ubuntu.com/community/Postfix

5
fragos

Je viens juste de le faire moi-même, vous avez en effet besoin de postfix. Dans mon cas, je voulais aussi un serveur imap afin de pouvoir utiliser un client gui (sans indication de nom) sur une autre machine. J'ai utilisé ces documents:

Postfix

Dovecot (imap et pop3)

C'est en fait assez simple, je l'ai mis en place en quelques minutes et je reçois des courriels. Ceci est également utile pour vérifier que tout est bien configuré pingability .

Oh, et vous devrez bien sûr configurer correctement vos entrées DNS comme ci-dessous (en fonction des paramètres qui ont fonctionné pour moi):

name   type   content
  @      A     ???.???.??.??    
mail     A     ???.???.??.??

et

         MX Records
Name                 Priority
mail.mydomain.com.      1
mail2.mydomain.com.     2

Notez l'arrêt complet à la fin des serveurs de messagerie et insérez votre adresse IP et votre nom de domaine, le cas échéant.

4
NimChimpsky