it-swarm.com.de

Wie kann ich eine E-Mail über den UNIX-Befehl mailx senden?

Wie kann ich eine E-Mail über den UNIX-Befehl mailx senden?

84
user269484

ein Beispiel

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

anhang senden

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

und Anhang senden UND den Nachrichtentext schreiben 

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

Hier sind Sie ja :

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

PS. Text und Betreff sollten in Anführungszeichen gesetzt werden. Entfernen Sie die Anführungszeichen von FROM_EMAIL und To_EMAIL, während Sie die E-Mail-Adressen ersetzen.

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

mit mailx können wir eine Datei von unix an mail server senden. Hier im obigen Code sehen wir erster Parameter ist -s "subject of mail" der zweite Parameter ist mail ID und der letzte Parameter ist der Name der Datei, die wir anhängen möchten

Mit dem MUTT-Befehl ist es schneller

echo "Body Of the Email"  | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)"  -c [email protected] [email protected] -y
  1. -c E-Mail-Liste
  2. -s Themenliste
  3. -y, um die Mail zu senden
5
user1651561

Aus der Manpage:

Nachrichten senden

Um eine Nachricht an eine oder mehrere Personen zu senden, kann mailx mit .__ aufgerufen werden. Argumente, die die Namen von .__ sind. Personen, an die die Mail gesendet wird. Von dem Benutzer wird dann erwartet, dass er .__ eingibt. seine Botschaft folgte durch ein „Control-D“ am Anfang einer Zeile.

Mit anderen Worten, mailx liest den zu sendenden Inhalt aus der Standardeingabe und kann wie gewohnt umgeleitet werden. Z.B.:

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

-c und -b sind optional.

-s: Betreff angeben, wenn der Betreff Leerzeichen enthält, Anführungszeichen verwenden.

-c: Kopie der Kopie an die durch Kommas getrennten Benutzerliste.

-b: Senden Sie Blindkopien an die Liste der durch Kommas getrennten Benutzer.

Hoffe, meine Antwort klärt Ihre Zweifel.

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

Anpassen der FROM-Adresse

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

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

Wenn Sie mehr als zwei Personen oder DL senden möchten:

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

hier:

  • -s = Betreff oder E-Mail-Titel
  • -r = Absenderpost oder DL
0
dildeepak

Hier ist eine multifunktionale Funktion, um den Mailversand mit mehreren Anhängen zu bewältigen:

enviaremail() {
values=$(echo "[email protected]" | 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}
}

funktionsaufruf: enviaremail "smtp.mailserver: port" "from_address" "authuser" "'pass'" "destination" "liste der durch Leerzeichen getrennten Anhänge"

Hinweis: Entfernen Sie die Anführungszeichen in der Aufforderung

Denken Sie außerdem daran, vor der Verwendung der Funktion $ titulo (Betreff) und $ cuerpo (body) der E-Mail extern zu definieren

0
Ivo Yordanov