web-dev-qa-db-fra.com

Comment puis-je envoyer un email avec la commande mail mail UNIX

Comment puis-je envoyer un email avec la commande mail mail UNIX

84
user269484

un exemple

$ echo "something" | mailx -s "subject" [email protected]

envoyer une pièce jointe

$ uuencode file file | mailx -s "subject" [email protected]

et pour envoyer une pièce jointe ET écrire le corps du message 

$ (echo "something\n" ; uuencode file file) | mailx -s "subject" [email protected]
98
ghostdog74

Vous voilà :

echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"

PS. Le corps et le sujet doivent rester entre guillemets . Supprimer les guillemets de FROM_EMAIL et To_EMAIL en remplaçant les adresses électroniques.

27
Kamran Ahmad
mailx -s "subjec_of_mail" [email protected] < file_name

via l'utilitaire mailx, nous pouvons envoyer un fichier de unix à mail server. ici, dans le code ci-dessus, nous pouvons voir le premier paramètre est -s "subject of mail" le deuxième paramètre est mail ID et le dernier paramètre est le nom du fichier que nous souhaitons associer.

6

C'est plus rapide avec la commande MUTT

echo "Body Of the Email"  | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)"  -c [email protected] [email protected] -y
  1. -c email cc liste
  2. -s liste de sujets
  3. -y pour envoyer le mail
5
user1651561

De la page de manuel:

Envoi de mail

Pour envoyer un message à une ou plusieurs personnes, mailx peut être appelé avec arguments qui sont les noms de les personnes à qui le courrier sera envoyé. L'utilisateur doit ensuite saisir son message, suivi par un "contrôle-D" au début d’une ligne.

En d'autres termes, mailx lit le contenu à envoyer à partir d'une entrée standard et peut être redirigé comme d'habitude. Par exemple.:

ls -l $HOME | mailx -s "The content of my home directory" [email protected]
4
hlovdal
mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress

-c et -b sont optionnels.

-s: spécifiez le sujet, si le sujet contient des espaces, utilisez des guillemets.

-c: envoie des copies carbone à la liste des utilisateurs séparés par une virgule.

-b: envoie des copies carbone aveugles à la liste des utilisateurs séparés par une virgule.

J'espère que ma réponse clarifie votre doute.

4
Pavan Kumar
echo "Sending emails ..."
NOW=$(date +"%F %H:%M")
echo $NOW  " Running service" >> open_files.log
header=`echo "Service Restarting: " $NOW`


mail -s "$header" [email protected],   \
              [email protected], \ < open_files.log
3
Piyush Mattoo

Personnalisation de l'adresse FROM

MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="[email protected]"
FROM="DONOTREPLY"

echo $MESSAGE | mail  -s "$SUBJECT" $TOADDR  -- -f $FROM
1
Hari

Si vous souhaitez envoyer plus de deux personnes ou DL]:

echo "Message Body" | mailx -s "Message Title" -r [email protected] [email protected],[email protected]

ici:

  • -s = sujet ou titre du mail
  • -r = expéditeur mail ou DL
0
dildeepak

Voici une fonction multifonctionnelle permettant d’envoyer du courrier avec plusieurs pièces jointes:

enviaremail() {
values=$(echo "$@" | tr -d '\n')
listargs=()
listargs+=($values)
heirloom-mailx $( attachment=""
for (( a = 5; a < ${#listargs[@]}; a++ )); do
attachment=$(echo "-a ${listargs[a]} ")
echo "${attachment}"
done) -v -s "${titulo}" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://$1 \
-S from="${2}" \
-S smtp-auth-user=$3 \
-S smtp-auth-password=$4 \
-S ssl-verify=ignore \
$5 < ${cuerpo}
}

appel de fonction: enviaremail "smtp.mailserver: port" "adresse_du_adresse" "authuser" "'pass'" "destination" "liste des pièces jointes séparées par un espace"

Remarque: supprimez les guillemets dans l'appel

De plus, n'oubliez pas de définir en externe le $ titulo (sujet) et le $ cuerpo (corps) de l'email avant d'utiliser la fonction

0
Ivo Yordanov