Mail per Shell versenden

padowa76

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,275
Punkte für Reaktionen
9
Punkte
38
Hallo, da ich mit Linux immer noch meine Probleme hab, stell ich mal die Frage in die Runde. Wie kann ich denn am einfachsten eine Mail via Kommandozeile versenden.

Als Beispieldaten:
Empfänger: [email protected]
Subject: Dies ist ein Test
Body: Hier soll der Inhalt stehen

Wie sieht die korrekte Syntax aus .. als Maildaemon ist Sendmail aktiv

Gruß und schon mal Danke
Snuff
 
$ /usr/lib/sendmail -t
To: [email protected]
Subject: Test

Test Zeile 1
Test Zeile 2
danach kommt eine leere Zeile und dann noch eine, nur mit einem Punkt

.
$

Ciao,
dev
 
Gibt´s da auch noch ne kürzere Möglichkeit, ich will das ganze via system() aus nem Dialplan heraus verwenden
 
wie wärs mit "mail"

mail [-eIinv] [-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr [...] [-- sendmail-options [...]]
mail [-eIiNnv] -f [name]
mail [-eIiNnv] [-u user]
 
Snuff schrieb:
Gibt´s da auch noch ne kürzere Möglichkeit, ich will das ganze via system() aus nem Dialplan heraus verwenden

Viel kürzer als das hier dürfte schwierig werden. ;-)

Code:
$ /usr/lib/sendmail -t << EOF
To: [email][email protected][/email]
Subject: Test

Body-Text
EOF
$

Das Ganze mit etwas Salz und Pfeffer unter ständigem Rühren in den system call packen.

Die keywords zu denen Du Dir ggf. noch was anlesen solltest sind shell und redirection.

Ciao,
dev
 
naja, also ich halte ein:

Code:
echo "<message>" | mail empfä[email protected]

für deutlich kürzer.

im dialplan könnte das ganze dann folgendermaßen aussehen:

Code:
exten => 1,1,system(echo "meine nachricht" | mail [email protected] &)

weitere parameter wie -s für subject kann man unter $: man mail erlesen
 
Zuletzt bearbeitet:
Perfekt, danke für den Tipp. Habe das jetzt zusammen mit dem Reverse Lookup in "Das Örtliche Telefonbuch" in das Ruf-Makro eingebaut und bekomme nun bei jedem Anruf eine Mail mit der Rufnummer und falls gefunden, dem Namen des Anrufer.

Code:
exten => s,6,system(echo "${LONGNAME}" | mail [email protected] -s "Anruf von ${CALLERIDNUM}" -a "From: Anrufliste <[email protected]>" &)

Das ist sehr praktisch, da ich in meinem Gigaset 1000C kaum Namen im Telefonbuch hab und dann direkt per Mail sehen wer im Moment anruft :)

Vielen Dank
Snuff
 
Zuletzt bearbeitet:
also dann würde ich aber lieber net send nutzen, das geht wesentlich fixer und du weißt schon wer dich anruft bevor du abhebst (vorrusgesetzt der monitor ist an)

Code:
system('echo ANFRUF VON: '.$str.' | smbclient -M <rechnername> &')    ;net send

der smbclient muß allerdings installiert werden/sein und auf der windows kiste muß der nachrichtendienst gestartet sein (wenn du einen router hast, solltest du gegen net send spam aus dem inet auch gefeit sein, kann also gefahrlos wieder gestartet werden.
 
Das ganze ist ja primär dafür gedacht um auch Anrufe mitzubekommen wenn ich nicht zu hause bin. Und nicht alle hinterlassen einen Nachricht auf dem AB.

Gruß Snuff
 

Statistik des Forums

Themen
246,212
Beiträge
2,248,161
Mitglieder
373,780
Neuestes Mitglied
dieselbert
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.