Comment configurer un serveur de messagerie?

59

Mon VPS exécute Ubuntu et j'aimerais pouvoir recevoir des messages électroniques sur mon domaine.

Comment configurer facilement un serveur de messagerie pour cela?

    
posée Stefano Palazzo 29.07.2011 - 08:13
la source

4 réponses

48

Voici comment je configure le courrier sur nos machines de production. Ce sont les critères dont nous avions besoin:

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

"Easy" (tl; dr)

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

sudo tasksel install mail-server

Plusieurs problèmes sont survenus lorsque nous avons essayé ceci: tout d’abord, il installe Dovecot, ce qui convient à la plupart des utilisateurs, mais nous avons jugé que Courier était le meilleur pour nos besoins. Deuxièmement, il utilise Postfix, ce qui est génial, mais nous avons également besoin d'Exim car c'est 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 il s'agit d'un point de rupture de moins. Pensez à ce qui se passerait si MySQL tombait en panne pour une raison inconnue. Sinon, le reste des paquets est assez simple et facile à maintenir pour un petit service de messagerie (pensez à 1-2 domaines de messagerie au total).

Notre configuration

Structure du répertoire

Nous sortons légèrement des configurations normales, mais cela facilite la gestion.

Tous nos messages sont stockés dans /var/mail/virtual/<domain>/<user>/mail Donc, pour des exemples futurs, j'utiliserai [email protected] , [email protected] , [email protected] pour représenter une adresse e-mail, un redirecteur pour [email protected] et un mauvaise adresse respectivement. Dans l'exemple ci-dessus, il s'agirait de /var/mail/virtual/example.com/email/mail .

Je conserve é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 postfix .

Exim

Installez Exim avec apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy Une fois installé, vous devez modifier 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 que cela est terminé, reconstruisez la configuration exim avec update-exim4.conf Ceci conclut les modifications requises pour Exim

Courier

Installez Courier avec courier-base cela devrait installer courier-authdaemon , courier-authlib* , courier-imap* , courier-pop* , courieruserinfo , courier-ssl

Honnêtement, il n’ya pas beaucoup de configuration en dehors de la norme. Il vous suffit de créer une base de données utilisateur.

Comptes

Exim et Courier vérifient quelques endroits pour voir 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 si le domaine est dans /var/mail/virtual ou si le domaine est en /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 au-delà de:

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/

Ensuite, ajoutez l'adresse à messager userdb - afin qu'ils puissent 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. De plus, - uid et gid doivent être les identifiants utilisateur / groupe numériques 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 de userdb. Redémarrez Courier et testez si vos modifications fonctionnent:

authtest [email protected]

Doit 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: $LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
           Options: (none)

Si vous voyez "Authentification FAILED: opération non autorisée" à la place, éditez / etc / courier / authdaemonrc et ajoutez authuserdb à la ligne authmodulelist.

Une fois tous les tests confirmés, redémarrez les différents services impliqué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 signifie: Si le courrier entrant ne correspond à aucun des comptes de messagerie que je possède, alors le courrier doit échouer et être renvoyé avec un message: "Aucun utilisateur à cette adresse". Donc, tous les messages envoyés pour dire: [email protected] seraient renvoyés comme un échec.

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

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

De cette façon, même si [email protected] ne correspond à aucun compte de messagerie sur le serveur, il correspond au fichier /etc/valiases et le courrier est transféré à [email protected] - Cependant, foo @ example .com échouera toujours avec un message "Aucun utilisateur à cette adresse".

    
réponse donnée Marco Ceppi 29.07.2011 - 20:41
la source
14

Le moyen le plus simple est d’exécuter sudo tasksel install mail-server . Cela vous donnera un serveur de messagerie avec des valeurs par défaut saines. Tout ce que vous avez à faire est de répondre à quelques questions. De toute évidence, vous pouvez 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. Suivez simplement les instructions à l’écran et tout devrait bien se passer.

Il est toutefois recommandé de lire l’administration des services de messagerie.

Références officielles:

  • lien
réponse donnée Jo-Erlend Schinstad 29.07.2011 - 18:35
la source
5

Je n'ai pas de "réponse géniale", mais vous pouvez trouver ces liens utiles lien et < a href="https://help.ubuntu.com/community/Postfix"> lien

    
réponse donnée fragos 29.07.2011 - 09:22
la source
4

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

Postfix

Dovecot (imap et pop3)

C'est en fait assez simple, en quelques minutes et je reçois des e-mails. Ceci est également utile pour vérifier que tout est configuré ok pingability .

Oh, et vous devrez bien entendu 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.

    
réponse donnée NimChimpsky 29.07.2011 - 09:27
la source

Lire d'autres questions sur les étiquettes