Mail per Shell versenden

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,170
Punkte für Reaktionen
0
Punkte
36
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
 

dev

Neuer User
Mitglied seit
2 Jul 2005
Beiträge
41
Punkte für Reaktionen
0
Punkte
0
$ /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
 

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,170
Punkte für Reaktionen
0
Punkte
36
Gibt´s da auch noch ne kürzere Möglichkeit, ich will das ganze via system() aus nem Dialplan heraus verwenden
 

n8isch

Mitglied
Mitglied seit
22 Mrz 2005
Beiträge
275
Punkte für Reaktionen
0
Punkte
0
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]
 

dev

Neuer User
Mitglied seit
2 Jul 2005
Beiträge
41
Punkte für Reaktionen
0
Punkte
0
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
 

n8isch

Mitglied
Mitglied seit
22 Mrz 2005
Beiträge
275
Punkte für Reaktionen
0
Punkte
0
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:

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,170
Punkte für Reaktionen
0
Punkte
36
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:

n8isch

Mitglied
Mitglied seit
22 Mrz 2005
Beiträge
275
Punkte für Reaktionen
0
Punkte
0
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.
 

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,170
Punkte für Reaktionen
0
Punkte
36
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
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,901
Beiträge
2,027,917
Mitglieder
351,033
Neuestes Mitglied
thburkhart