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.