9 votes

Pourquoi OS X est-il capable d'envoyer des e-mails sans configurer SMTP au préalable ?

Lorsque j'essaie la commande dans le terminal, un courriel est envoyé. J'ai vérifié qu'il n'y a pas de SMTP local en cours d'exécution, alors quel est le mécanisme utilisé par Apple en arrière-plan ?

echo "Hello" | mail -s "Test" foo@bar.com

7voto

stuffe Points 25320

Les démons ou serveurs SMTP sont là pour recevoir du courrier, pas pour en envoyer. Dans votre exemple, mail est purement un client de messagerie, et il se connecte à n'importe quel serveur défini par l'enregistrement MX approprié du DNS de bar.com et ne nécessite pas l'exécution d'un serveur local pour ce faire.

Toutefois, en fonction de votre configuration de messagerie, vous devrez peut-être vous connecter à un serveur de courrier sortant pour vous authentifier ou, à défaut, fournir les adresses d'expéditeur et de destinataire, etc. Maintenant, vous pouvez faire tout cela à la ligne de commande en passant les paramètres appropriés sur le terminal, mais tant que vous avez configuré votre application de messagerie, cette configuration est déjà stockée, et en allumant simplement temporairement le sous-système de messagerie, les commandes du terminal peuvent saisir cette information et avoir maintenant un ou plusieurs serveurs de messagerie smtp qu'ils peuvent choisir pour envoyer des messages sortants. Les processus seront ensuite terminés une fois terminés.

Vous pouvez tester tout cela à la ligne de commande et envoyer le courrier sans avoir à utiliser un client de messagerie. Je ne suis pas sur un Mac, donc ces commandes peuvent être modifiées par quelqu'un qui l'est, mais vous pouvez le faire :

nslookup
set type=mx
bar.com
exit

telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)

Lire la suite pour plus d'informations sur l'envoi d'e-mails via telnet - c'est un excellent outil de débogage

4voto

Wolfram Kriesing Points 1141

mail sous OS X semble en fait lancer Postfix suffisamment longtemps pour traiter le courrier, puis l'arrêter un peu plus tard.

Pour voir cela en action, essayez telnet localhost 25 avant la commande mail, puis immédiatement après, puis attendez 5 minutes et réessayez.

Je ne suis pas sûr que ce soit une bonne réponse à la question, car ça n'explique pas comment Postfix est né et a été détruit, mais nous espérons que cela aidera à répondre à la question.

1voto

dor Points 21

Je pense mail utilise toujours le sendmail local pour envoyer des mails. Sur OSX sendmail est postfix. Et c'est définitivement utilisé.

Vous pouvez vérifier les en-têtes du courrier Received: by [Your-Mac] (Postfix, from userid ... .

Néanmoins, ce n'est pas une bonne idée d'utiliser mail (ou mieux postfix ) comme ceci. La meilleure pratique serait d'utiliser un Hôte intelligent pour votre Postfix local afin d'éviter les restrictions de pare-feu souvent utilisées.

Vous pouvez trouver une solution à Configuration de SMTP Smart Host pour Postfix dans Snow Leopard ce qui fonctionne pour moi (également sur Lion, Mountain Lion).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X