.titleBar { margin-bottom: 5px!important; }

Mail per Shell versenden

Dieses Thema im Forum "Linux allgemein" wurde erstellt von Snuff, 13 Sep. 2006.

  1. Snuff

    Snuff Aktives Mitglied

    Registriert seit:
    23 Juni 2006
    Beiträge:
    1,149
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Softwareentwickler/Ausbilder
    Ort:
    65529 Waldems (Taunus)
    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: snuff@domain.tld
    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
     
  2. dev

    dev Neuer User

    Registriert seit:
    2 Juli 2005
    Beiträge:
    41
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    $ /usr/lib/sendmail -t
    To: user@domain.de
    Subject: Test

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

    .
    $

    Ciao,
    dev
     
  3. Snuff

    Snuff Aktives Mitglied

    Registriert seit:
    23 Juni 2006
    Beiträge:
    1,149
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Softwareentwickler/Ausbilder
    Ort:
    65529 Waldems (Taunus)
    Gibt´s da auch noch ne kürzere Möglichkeit, ich will das ganze via system() aus nem Dialplan heraus verwenden
     
  4. n8isch

    n8isch Mitglied

    Registriert seit:
    22 März 2005
    Beiträge:
    275
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Trier
    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]
     
  5. dev

    dev Neuer User

    Registriert seit:
    2 Juli 2005
    Beiträge:
    41
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Viel kürzer als das hier dürfte schwierig werden. ;-)

    Code:
    $ /usr/lib/sendmail -t << EOF
    To: [email]user@domain.de[/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
     
  6. n8isch

    n8isch Mitglied

    Registriert seit:
    22 März 2005
    Beiträge:
    275
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Trier
    #6 n8isch, 14 Sep. 2006
    Zuletzt bearbeitet: 14 Sep. 2006
    naja, also ich halte ein:

    Code:
    
    echo "<message>" | mail empfänger@domain.irgendetwas
    
    
    für deutlich kürzer.

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

    Code:
    exten => 1,1,system(echo "meine nachricht" | mail meine@mailadresse.de &)
    
    weitere parameter wie -s für subject kann man unter $: man mail erlesen
     
  7. Snuff

    Snuff Aktives Mitglied

    Registriert seit:
    23 Juni 2006
    Beiträge:
    1,149
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Softwareentwickler/Ausbilder
    Ort:
    65529 Waldems (Taunus)
    #7 Snuff, 14 Sep. 2006
    Zuletzt bearbeitet: 14 Sep. 2006
    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 empfaenger@mail.tld -s "Anruf von ${CALLERIDNUM}" -a "From: Anrufliste <noreply@mail.tld>" &)
    
    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
     
  8. n8isch

    n8isch Mitglied

    Registriert seit:
    22 März 2005
    Beiträge:
    275
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Trier
    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.
     
  9. Snuff

    Snuff Aktives Mitglied

    Registriert seit:
    23 Juni 2006
    Beiträge:
    1,149
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Softwareentwickler/Ausbilder
    Ort:
    65529 Waldems (Taunus)
    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