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?
Voici comment j'ai configuré le courrier sur nos machines de production. Ce sont les critères dont nous avions besoin:
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).
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.
C'est plus ou moins la partie facile de la configuration. Installez simplement le package postfix
name__.
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.
Installez Courier avec courier-base
, ceci devrait installer courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
name__, 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.
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
.
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 - uid
et gid
need ê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é.
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".
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:
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
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:
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.