GNU/Linux >> Tutoriels Linux >  >> Linux

Mailx envoie-t-il du courrier à l'aide d'un relais SMTP ou se connecte-t-il directement au serveur SMTP cible ?

mailx peut utiliser SMTP. Son fichier de configuration est ~/.mailrc

Un exemple est mailx utilisant le SMTP de Gmail.

La configuration peut même être en une seule commande :

mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS

Si un serveur SMTP normal est utilisé, c'est beaucoup plus facile (voir une introduction détaillée ici) :

mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS

Vous pouvez également les mettre dans le fichier de configuration de mailx ~/.mailrc


Traditionnellement, Unix mail et les dérivés (et de nombreux autres outils Unix) utilisent le /usr/bin/sendmail interface, fournie par presque tous les agents de transfert de courrier (MTA - postfix, exim, courier et bien sûr sendmail).

Autrement dit, le mail le programme ne parle aucun protocole réseau - il transmet le message à sendmail via stdin, et lui permet de gérer la livraison réelle. (Cela remonte à l'époque où certains mails utilisaient SMTP, certains utilisaient UUCP, certains utilisaient BITNET...)

Une fois qu'un message est mis en file d'attente via sendmail , le MTA gère la transmission réelle des messages, que ce soit via SMTP ou autre chose. Selon la configuration, il peut soit se connecter directement au MTA de destination, soit relayer le courrier via un autre hôte (également appelé smarthost).

La connexion directe est plus courante sur les serveurs; le relais via smarthost est plus courant sur les ordinateurs personnels sur les connexions domestiques - le relais via votre compte de messagerie Gmail ou FAI/professionnel est essentiel pour éviter les filtres anti-spam "IP dynamique".

(Certains MTA tels que esmtp ou nullmailer sont conçus spécifiquement pour les utilisateurs à domicile et toujours utiliser un hôte relais. Ceux-ci ne prennent pas en charge la réception de courrier et sont beaucoup plus légers sur les ressources.)

mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox

D'autres programmes, principalement les clients graphiques conviviaux tels que Thunderbird ou Outlook, toujours connectez-vous directement à un serveur SMTP relais/smarthost (encore une fois, généralement Gmail ou ISP/serveur SMTP professionnel), qui transmet le message en votre nom.

Le support SMTP natif est présent dans heirloom-mailx , mais pas dans le traditionnel bsd-mailx .

app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox

La troisième méthode - se connecter directement au serveur du destinataire - n'est presque jamais utilisé, et aucun MUA ne le prend en charge. Sur les ordinateurs personnels, son utilisation entraînerait le rejet de votre message (de nombreux spams sont envoyés à partir d'adresses IP d'utilisateurs infectés).

app → [SMTP] → recipient MTA → caught by the spam filter

A partir du mailx(1) page de manuel, DESCRIPTION section, Options de chaîne sous-section :

   smtp   Normally, mailx invokes sendmail(8) directly to  transfer
          messages.  If the smtp variable is set, a SMTP connection
          to the server specified by the value of this variable  is
          used  instead.

Linux
  1. Comment envoyer du courrier via un serveur SMTP externe à l'aide de la commande mailx sous Linux ?

  2. Serveur SMTP sortant léger ?

  3. Comment envoyer un e-mail HTML à l'aide de la commande "mail" de Linux ?

  4. Connectez-vous à un serveur cloud avec Filezilla en utilisant SFTP

  5. Connectez-vous à un serveur en utilisant SSH sous Linux ou Mac OS X

Comment se connecter à un serveur à l'aide de la fonction de console distante BMC

Configuration de DotNetNuke pour envoyer des e-mails à l'aide du relais de messagerie

Comment configurer un serveur de messagerie SMTP avec Postfix sur Ubuntu 18.04

Comment envoyer une chaîne au serveur en utilisant s_client

Comment envoyer un message brut sous Linux ?

Comment envoyer un email avec mon serveur CentOS ?