Comment le courrier est-il réellement envoyé lorsque j'utilise la commande Linux «mail»?

17

Quel compte de messagerie électronique est utilisé pour envoyer un courrier électronique lors de l'utilisation de la mailcommande à partir du terminal Linux comme dans:

echo "Body of email" | mail -s "Subject" [email protected]

Si les e-mails ne sont pas envoyés, faut-il spécifier le nom d'utilisateur et le mot de passe d'une adresse e-mail d'envoi? Tous les mailtutoriels que j'ai lus ne spécifient rien sur l'adresse de l'expéditeur.

Edit: Donc, si je reçois un message d'erreur du type "Envoi à des domaines distants non pris en charge", cela signifie-t-il que mon FAI a bloqué l'envoi d'e-mails? Y a-t-il un moyen de contourner cela? Merci.

user001
la source

Réponses:

12

Quel compte de messagerie est utilisé pour envoyer un e-mail lors de l'utilisation de la commande mail depuis le terminal linux comme dans:

Dans les configurations par défaut, c'est le même compte que vous avez utilisé pour vous connecter. Votre ordinateur a un programme de serveur de messagerie (MTA) installé; généralement Postfix ou Exim4, parfois Sendmail ou qmail.

L'adresse e-mail de ce compte est ou , où le nom de domaine complet peut être obtenu . Toutefois, pour le moment, vous ne pouvez pas recevoir de courrier vers ce compte, car le MTA est configuré pour le «courrier local uniquement» (comme le message d'erreur ci-dessous l'indique) et n'acceptera pas les messages provenant de l'extérieur.your-login@hostnameyour-login@fqdnhostname -f

Edit: Donc, si je reçois un message d'erreur du type "Envoi à des domaines distants non pris en charge", cela signifie-t-il que mon FAI a bloqué l'envoi d'e-mails? Y a-t-il un moyen de contourner cela?

Non; ce message d'erreur est renvoyé par votre propre ordinateur. Le serveur de messagerie est configuré pour transférer uniquement le courrier local - d'un utilisateur à un autre (le plus souvent, à partir du démon cron en cas d'échec d'un cronjob). Habituellement , ces messages vont et sont lisibles en utilisant , , ou des programmes similaires. (IIRC, Thunderbird avait également la possibilité d'importer des spools locaux.)/var/mail/loginmailmuttre-alpine

Il n'est pas difficile de reconfigurer le serveur de messagerie pour envoyer et recevoir du courrier vers / depuis d'autres sites; selon le MTA installé et la distribution Linux, même une seule commande peut suffire: par exemple, dpkg-reconfigure postfixsi le système est Debian avec Postfix.

Cependant, je suppose que vous l'utilisez sur un ordinateur personnel, il serait donc préférable d'utiliser un compte de messagerie externe à la place - par exemple, votre adresse Gmail si vous en avez un. Découvrez quel MTA est installé (sur Ubuntu / Debian, dpkg -S /usr/sbin/sendmailvous le dira), puis google pour " program-name relay gmail" pour un tutoriel.

Vous pouvez également installer un MTA spécialement conçu pour le relais; msmtpet esmtpsont de bons choix et faciles à configurer.

user1686
la source
Merci pour votre aide. La commande pastebin que vous avez suggérée a fini par répondre à mes besoins. Je vais travailler sur la mise en place d'un smarthost pour le relais de messagerie.
user001
4

C'est le nom du compte et le nom d'hôte de l'utilisateur expéditeur, par exemple root@myserver. Ce n'est pas nécessairement une véritable boîte aux lettres qui peut recevoir des e-mails de l'extérieur.

Daniel Beck
la source
2
@ user001 Est- ce que cela aide?
Daniel Beck
2
@ user001: Dans de tels cas, vous pouvez jeter un œil aux bacs à pâte , dont certains sont faciles à utiliser depuis la ligne de commande. Par exemple curl -Fsprunge=\<- http://sprunge.us < myfile,.
user1686
1
@ user001: Avez-vous le exim4démon en cours d'exécution? Est - sudo mailqliste le message? Avez-vous vérifié les journaux du serveur d'envoi ( /var/log/exim4/mainlog) et du destinataire (si possible)?
user1686
1
@ user001: Il se peut que votre FAI bloque la connexion. Cela est particulièrement fréquent sur les connexions à domicile - tout ce qui se trouve sur le port 25 est simplement supprimé, afin de réduire les quantités massives de spam envoyées par les PC infectés. (Vous pouvez toujours configurer le relais , cependant, qui utilise un port différent et une authentification SMTP.)
user1686
1
@ user001: le relais se fait via un autre serveur de messagerie (parfois appelé "smarthost"). Les administrateurs de votre réseau peuvent vous aider si l'académie a son propre domaine de messagerie. Sinon, vous pouvez configurer votre serveur pour envoyer à partir de votre messagerie Gmail ou similaire; tutoriels ici .
user1686
4

La commande mail envoie des mails sous le compte courant, c'est-à-dire nom d'utilisateur @ domaine; cependant, les fournisseurs de services Internet empêchent généralement les utilisateurs d'exécuter leurs propres serveurs de messagerie (en bloquant les ports appropriés) pour éviter le spam et, par conséquent, votre courrier électronique n'est pas envoyé.

Mais le problème d'envoi pourrait également être lié à la configuration de votre machine.

Modifier: autoriser le courrier à envoyer des e-mails, par exemple à partir de gmail. Mettez les informations suivantes dans votre fichier ~ / .mailrc, qui fournit la configuration de base pour la messagerie. Cependant, assurez-vous que ce fichier n'est accessible qu'à vous (en utilisant chmod 600 ~ / .mailrc)

account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set [email protected]
set smtp-auth-password=pass
set [email protected]
}

Dans ce cas, l'e-mail proviendra de "[email protected]".

Karolos
la source
@ user001: Voulez-vous simplement pouvoir envoyer des mails (par exemple à partir de scripts) ou aussi les recevoir?
Karolos
Juste pour pouvoir envoyer un message à partir d'un script. Merci.
user001
2
Notez que cette mailrcsyntaxe est spécifique à heirloom-mailx. Certains systèmes peuvent être livrés avec GNU mailutilsou BSD mailx, qui se plaindraient tous deux d'erreurs de syntaxe. (Si cela se produit, je suggère d'installer heirloom-mailx- ou encore mieux, muttou re-alpine.)
user1686