Faut-il configurer un serveur de messagerie avant de pouvoir utiliser la mail
commande linux ?
Faut-il configurer un serveur de messagerie avant de pouvoir utiliser la mail
commande linux ?
Réponses:
Non, vous n'avez pas besoin d'un serveur de messagerie pour envoyer du courrier. Je suis le plus familier avec Sendmail et il existe 3 classifications de fonctionnalités qui répondent aux e-mails en tant que service. MDA (Mail Delivery Agents) est 1, et MTA (Mail Transfer Agents) est 2, et 3 est MUA (Mail User Agents).
La terminologie devient confuse, mais vous n'avez pas besoin qu'un MTA soit exécuté tout le temps. Le MTA sera appelé chaque fois que le MUA ( mail
) veut "envoyer" du courrier.
Lorsque vous exécutez mail
et vous spécifiez une adresse pour envoyer du courrier à, sam@example.com
. Le client de messagerie invoquera le MTA ( /usr/bin/sendmail
) qui interrogera ensuite DNS pour cet hôte / domaine (example.com) et découvrira quelle valeur est désignée pour son enregistrement MX. MX signifie Mail Exchanger.
Vous pouvez utiliser la dig
commande pour voir ceci:
$ dig gnu.org mx
; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;gnu.org. IN MX
;; ANSWER SECTION:
gnu.org. 299 IN MX 10 eggs.gnu.org.
;; ADDITIONAL SECTION:
eggs.gnu.org. 299 IN A 208.118.235.92
eggs.gnu.org. 299 IN AAAA 2001:4830:134:3::10
;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:27:22 2013
;; MSG SIZE rcvd: 90
Le client tentera donc de se connecter à eggs.gnu.org sur le port 25 pour envoyer cet e-mail.
@puk a posé la question de suivi suivante:
Ce DNS est-il sur ma machine locale?
A quoi j'ai répondu:
@puk - cela peut être de la même manière que le serveur de messagerie, mais ce n'est généralement pas le cas. Regardez dans votre /etc/resolv.conf
fichier et aussi lorsque vous exécutez la dig
commande, vous remarquerez la SERVER: ...
ligne en bas. C'est le serveur DNS qui répond à votre demande.
Mon /etc/resolv.conf
dossier contient les éléments suivants:
nameserver 192.168.1.8
Et des requêtes comme celle-ci, en utilisant dig
:
$ dig gnu.org mx
Résultat en bas:
;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:46:13 2013
;; MSG SIZE rcvd: 90
Et pour le lecteur astucieux, une ma demande, comment est-ce configuré? La réponse est le /etc/nsswitch.conf
fichier. Plus précisément cette ligne:
hosts: files mdns4_minimal [NOTFOUND=return] dns
Cela dit, utilisez d'abord les fichiers ( /etc/hosts
), puis mdns4_minimal
. C'est un DNS multicast. Il s'agit essentiellement d'un cache de recherches précédentes. Enfin, il utilise dns
qui est l'adresse IP du nameserver
désigné dans le /etc/resolv.conf
fichier.
Cela dépend vraiment de la version que mail
vous utilisez.
Toutes les versions ont besoin d'un MTA pour délivrer le courrier, mais certaines versions sont capables d'utiliser SMTP pour parler à un MTA distant (le "smarthost", par exemple le serveur de messagerie de votre FAI) et certaines ne peuvent que diriger le message /usr/sbin/sendmail
pour envoyer le courrier via un MTA local.
Dans ce dernier cas, le MTA local pourrait être un MTA à part entière comme sendmail ou exim ou postfix . Ou il peut s'agir d'un simple MTA d'envoi uniquement comme nullmailer ou ssmtp . Ou un mini-MTA légèrement plus sophistiqué comme msmtp qui prend également en charge la mise en file d'attente du courrier pour une livraison ultérieure.
Dans le monde du logiciel libre et open source, il existe deux variantes principales du mailx
package (qui fournit la mail
commande): bsd-mailx
et heirloom-mailx
.
bsd-mailx ne parle pas SMTP et ne peut envoyer du courrier qu'en le redirigeant vers/usr/sbin/sendmail
hierloom-mailx peut parler SMTP à un smarthost ainsi que la méthode traditionnelle «pipe-to-sendmail».
Donc, pour répondre à votre question "Avez-vous besoin d'un serveur de messagerie?". Oui, en quelque sorte. Vous en avez besoin mais, selon la version du courrier que vous avez installée, il se peut que vous n'ayez pas à l'installer et à la configurer sur votre propre système.
OMI, vous êtes mieux avec un MTA minimal que msmtp
de compter uniquement sur un smarthost heirloom-mailx
car vous devez toujours mettre en file d'attente le courrier pour une livraison ultérieure lorsque votre connexion Internet est en panne ou que votre smarthost est inaccessible. Avec une file d'attente locale, mail
et d' crond
autres programmes peuvent simplement envoyer et oublier n'importe quel courrier. Sans file d'attente locale, ils doivent en quelque sorte gérer la condition d'erreur si l'hôte intelligent n'est pas disponible.