Vlákno názorů k článku Malé hrátky z řádky od Kvakor - No, je hezke, ze se soubor posle ze...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 1. 2008 14:59

    Kvakor (neregistrovaný)

    No, je hezke, ze se soubor posle ze shellu, ale posle se jako text. Pritom neni problem ho poslat primo jako prilohu, ponevac uuencode umi i base64 (prepinac -m). Ja osobne pouzivam na to tyto dva primitivni skriptiky - jeden je vlastne jen wrapper pro ten druhy, ktery vytvori MIME obalku pro samotny soubor, ktery je pak nasledne vecpan do chrtanu lokalniho smtp serveru.

    Prvni skriptik:

    #!/bin/sh
    file2mimemail $@ | /usr/sbin/sendmail -B 8BITMIME -bs
    

    Musi se mu predat tri parametry - jmeno souboru, adresa odesilatele a adresa prijemce (v tomto poradi, RT*S).

    Nasleduje samotny MIME konvertor, pokud ho pojmenujete jinak nez file2mimemail, opravt si predchozi skrip.

    #!/bin/sh
    mime_boundary=`date | md5sum | head -c 32`
    echo "HELO localhost"
    echo "MAIL FROM: $2"
    echo "RCPT TO: $3"
    echo "DATA"
    echo "MIME-Version: 1.0"
    echo "From: $2"
    echo "To: $3"
    echo "Subject: Sent file $1"
    echo "Content-Type: multipart/mixed; boundary=$mime_boundary"
    echo
    echo "This is a multi-part message in MIME format."
    echo
    echo "--$mime_boundary"
    echo "Content-Type: text/plain; charset=iso-8859-1"
    echo "Content-Transfer-Encoding: 8bit"
    echo "Sent file $1"
    echo
    echo "--$mime_boundary"
    echo "Content-Type: application/octet-stream; name=$1"
    echo "Content-Disposition: attachment; filename=$1"
    echo "Content-Transfer-Encoding: base64"
    echo -n "X-uuencode-head: "
    uuencode -m $1 $1 | head -n -1
    echo
    echo "--$mime_boundary--"
    echo "."
    echo "QUIT"
    

    Ty brikule s hlavickou a X-uuencode-head jsou tam proto, ze uuencode tam hazi zacatek, ktery ale v MIME mailu nema co delat (pokud nekoho napadne elegantnejsi reseni, budu za nej vdecny). A pokud mate nelokalni stmp nebo se serveru nelibi to HELO localhost, tak to prepiste, treba na `hostname` nebo neco v tom smyslu.

  • 21. 1. 2008 16:00

    hub (neregistrovaný)
    Me porad neni jasne, co se vlastne resi. mailx ma volbu -a, ktera umoznuje specifikovat attachment. Autor tvrdi, ze "Program mail možná znáte. Ve většině distribucí ale neumí poslat přílohu." O jakych distribucich se zde bavime? Nebylo by vhodnejsi do tech distribuci mailx zahrnout? Kdyz clovek prijde k obstaroznimu Unixu s obstarozni verzi mailx, pak pouziti uuencode chapu. Ale jinak?