Je sais qu'il existe la commande mail
sous Linux pour envoyer des courriels via la ligne de commande. Comment puis-je envoyer un simple email avec une ligne du terminal?
Par exemple:
mail [email protected] [subject] [body]
Et le courrier électronique a-t-il été envoyé sans aucune confirmation ni invite à l'utilisateur?
La raison en est que je souhaite envoyer un bref message par courrier électronique à moi-même lorsqu'un événement spécifique se produit dans un programme Java
. L'idée est que je vais utiliser Runtime.getRuntime()
… etc. pour envoyer le mail command
à partir de mon programme Java
.
J'ai utilisé cron
pour faire quelque chose de similaire dans le passé, mais l'implémentation actuelle n'utilise pas cron
, je dois donc l'essayer à la place.
mail peut représenter plusieurs programmes sur un système Linux. Ce que vous voulez derrière, c'est soit sendmail ou postfixe . Je recommande ce dernier.
Vous pouvez l'installer via votre gestionnaire de paquets préféré. Ensuite, vous devez le configurer, et une fois que vous avez fait cela, vous pouvez envoyer un email comme ceci:
echo "My message" | mail -s subject [email protected]
Voir le manuel pour plus d'informations.
En ce qui concerne la configuration de postfix, il existe de nombreux articles sur Internet sur la façon de le faire. Sauf si vous êtes sur un serveur public avec un domaine enregistré, vous souhaitez généralement transférer le courrier électronique sur un serveur SMTP à partir duquel vous pouvez envoyer un courrier électronique.
Pour gmail, par exemple, suivez http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ ou tout autre didacticiel similaire.
Vous pouvez utiliser un écho avec un tuyau pour éviter les invites ou les confirmations.
echo "This is the body" | mail -s "This is the subject" [email protected]
echo "Subject: test" | /usr/sbin/sendmail [email protected]
Cela vous permet de le faire dans une ligne de commande sans avoir à faire écho à un fichier texte. Cette réponse s'appuie sur la réponse de @ mti2935. Donc, le crédit y va.
Pour les utilisateurs Ubuntu: Vous devez d’abord installer mailutils
Sudo apt-get install mailutils
Configurez un serveur de messagerie si vous utilisez gmail ou smtp. suivez ce lien . puis utilisez cette commande pour envoyer un email.
echo "this is a test mail" | mail -s "Subject of mail" [email protected]
Si vous utilisez gmail et que vous rencontrez toujours une erreur d'authentification, vous devez modifier les paramètres de gmail:
Activer l'accès pour les applications moins sécurisées à partir d'ici
Vous pouvez également utiliser sendmail:
/usr/sbin/sendmail [email protected] < /file/to/send
Vous pouvez installer le paquet mail dans Ubuntu avec la commande ci-dessous.
Pour Ubuntu -:
$ Sudo apt-get install -y mailutils
Pour les centos:
$ Sudo yum install -y mailx
Test Mail commande-:
$ echo "Mail test" | mail -s "Subject" [email protected]