MAILATTACH
TAG_ADS
#!/usr/bin/perl -w
use strict;
use MIME::Lite;
use Net::SMTP;

###############################################################
# MAILATTACH - Send email with an attachment from a command line
# Version 0.2
# Copyleft 2005 - Nathan E. Pralle
#
# DESCRIPTION:  This utility allows you to send an email with a file
# attachment, MIME-encoded, from the command line.  Handy when you 
# are SSH-ed in somewhere and can't get to a visual email client.
#
# SYNTAX:  mailattach to_address subject body file1 file2 file3...
#
# REQUIRED:  MIME::Lite
#            Net::SMTP
#
# CONTACT:   Questions?  Comments?
#            http://www.nathanpralle.com/contact.html
#################################################################

########################
# CONFIGURATION OPTIONS

#Address you want the mail to be from.  Hardcoded for your happiness.
my $from_address = 'someone@example.com';

#Your local or remote SMTP host that you have access to
my $mail_host = 'your.smtpserver.com';

#######################

my $to_address = shift;
my $subject = shift;
my $message_body = shift;

if(scalar(@ARGV)<1){
	print "SYNTAX:  $0 to_email subject body file1 file2 ...\n";
	exit;
}

my $msg = MIME::Lite->new (
	From => $from_address,
	To => $to_address,
	Subject => $subject,
	Type =>'multipart/mixed'
) or die "Error creating multipart container: $!\n";

$msg->attach (
	Type => 'TEXT',
	Data => $message_body
) or die "Error adding the text message part: $!\n";

my $filename;
$filename=shift;
while(defined $filename){
	$msg->attach(
		Type => f_get_type(get_filename($filename)),
		Path => $filename,
		Filename => get_filename($filename),
		Disposition => 'attachment'
	) or die "Error adding $filename: $!\n";
	$filename=shift;
}

MIME::Lite->send('smtp', $mail_host, Timeout=>60);
$msg->send;
exit;

sub f_get_type{
	my $filename=shift;
	my($junk,$extension)=split(/\./,$filename);
	if($extension eq ''){
		print STDERR "Unable to locate extension on filename: $filename\n";
		exit;
	}
	my $mimetype='';
	if($extension eq "3dm"){ $mimetype="x-world/x-3dmf";}
	if($extension eq "3dmf"){ $mimetype="x-world/x-3dmf";}
	if($extension eq "a"){ $mimetype="application/octet-stream";}
	if($extension eq "aab"){ $mimetype="application/x-authorware-bin";}
	if($extension eq "aam"){ $mimetype="application/x-authorware-map";}
	if($extension eq "aas"){ $mimetype="application/x-authorware-seg";}
	if($extension eq "abc"){ $mimetype="text/vnd.abc";}
	if($extension eq "acgi"){ $mimetype="text/html";}
	if($extension eq "afl"){ $mimetype="video/animaflex";}
	if($extension eq "ai"){ $mimetype="application/postscript";}
	if($extension eq "aif"){ $mimetype="audio/aiff";}
	if($extension eq "aif"){ $mimetype="audio/x-aiff";}
	if($extension eq "aifc"){ $mimetype="audio/aiff";}
	if($extension eq "aifc"){ $mimetype="audio/x-aiff";}
	if($extension eq "aiff"){ $mimetype="audio/aiff";}
	if($extension eq "aiff"){ $mimetype="audio/x-aiff";}
	if($extension eq "aim"){ $mimetype="application/x-aim";}
	if($extension eq "aip"){ $mimetype="text/x-audiosoft-intra";}
	if($extension eq "ani"){ $mimetype="application/x-navi-animation";}
	if($extension eq "aos"){ $mimetype="application/x-nokia-9000-communicator-add-on-software";}
	if($extension eq "aps"){ $mimetype="application/mime";}
	if($extension eq "arc"){ $mimetype="application/octet-stream";}
	if($extension eq "arj"){ $mimetype="application/arj";}
	if($extension eq "arj"){ $mimetype="application/octet-stream";}
	if($extension eq "art"){ $mimetype="image/x-jg";}
	if($extension eq "asf"){ $mimetype="video/x-ms-asf";}
	if($extension eq "asm"){ $mimetype="text/x-asm";}
	if($extension eq "asp"){ $mimetype="text/asp";}
	if($extension eq "asx"){ $mimetype="application/x-mplayer2";}
	if($extension eq "asx"){ $mimetype="video/x-ms-asf";}
	if($extension eq "asx"){ $mimetype="video/x-ms-asf-plugin";}
	if($extension eq "au"){ $mimetype="audio/basic";}
	if($extension eq "au"){ $mimetype="audio/x-au";}
	if($extension eq "avi"){ $mimetype="application/x-troff-msvideo";}
	if($extension eq "avi"){ $mimetype="video/avi";}
	if($extension eq "avi"){ $mimetype="video/msvideo";}
	if($extension eq "avi"){ $mimetype="video/x-msvideo";}
	if($extension eq "avs"){ $mimetype="video/avs-video";}
	if($extension eq "bcpio"){ $mimetype="application/x-bcpio";}
	if($extension eq "bin"){ $mimetype="application/mac-binary";}
	if($extension eq "bin"){ $mimetype="application/macbinary";}
	if($extension eq "bin"){ $mimetype="application/octet-stream";}
	if($extension eq "bin"){ $mimetype="application/x-binary";}
	if($extension eq "bin"){ $mimetype="application/x-macbinary";}
	if($extension eq "bm"){ $mimetype="image/bmp";}
	if($extension eq "bmp"){ $mimetype="image/bmp";}
	if($extension eq "bmp"){ $mimetype="image/x-windows-bmp";}
	if($extension eq "boo"){ $mimetype="application/book";}
	if($extension eq "book"){ $mimetype="application/book";}
	if($extension eq "boz"){ $mimetype="application/x-bzip2";}
	if($extension eq "bsh"){ $mimetype="application/x-bsh";}
	if($extension eq "bz"){ $mimetype="application/x-bzip";}
	if($extension eq "bz2"){ $mimetype="application/x-bzip2";}
	if($extension eq "c"){ $mimetype="text/plain";}
	if($extension eq "c"){ $mimetype="text/x-c";}
	if($extension eq "c++"){ $mimetype="text/plain";}
	if($extension eq "cat"){ $mimetype="application/vnd.ms-pki.seccat";}
	if($extension eq "cc"){ $mimetype="text/plain";}
	if($extension eq "cc"){ $mimetype="text/x-c";}
	if($extension eq "ccad"){ $mimetype="application/clariscad";}
	if($extension eq "cco"){ $mimetype="application/x-cocoa";}
	if($extension eq "cdf"){ $mimetype="application/cdf";}
	if($extension eq "cdf"){ $mimetype="application/x-cdf";}
	if($extension eq "cdf"){ $mimetype="application/x-netcdf";}
	if($extension eq "cer"){ $mimetype="application/pkix-cert";}
	if($extension eq "cer"){ $mimetype="application/x-x509-ca-cert";}
	if($extension eq "cha"){ $mimetype="application/x-chat";}
	if($extension eq "chat"){ $mimetype="application/x-chat";}
	if($extension eq "class"){ $mimetype="application/java";}
	if($extension eq "class"){ $mimetype="application/java-byte-code";}
	if($extension eq "class"){ $mimetype="application/x-java-class";}
	if($extension eq "com"){ $mimetype="application/octet-stream";}
	if($extension eq "com"){ $mimetype="text/plain";}
	if($extension eq "conf"){ $mimetype="text/plain";}
	if($extension eq "cpio"){ $mimetype="application/x-cpio";}
	if($extension eq "cpp"){ $mimetype="text/x-c";}
	if($extension eq "cpt"){ $mimetype="application/mac-compactpro";}
	if($extension eq "cpt"){ $mimetype="application/x-compactpro";}
	if($extension eq "cpt"){ $mimetype="application/x-cpt";}
	if($extension eq "crl"){ $mimetype="application/pkcs-crl";}
	if($extension eq "crl"){ $mimetype="application/pkix-crl";}
	if($extension eq "crt"){ $mimetype="application/pkix-cert";}
	if($extension eq "crt"){ $mimetype="application/x-x509-ca-cert";}
	if($extension eq "crt"){ $mimetype="application/x-x509-user-cert";}
	if($extension eq "csh"){ $mimetype="application/x-csh";}
	if($extension eq "csh"){ $mimetype="text/x-script.csh";}
	if($extension eq "css"){ $mimetype="application/x-pointplus";}
	if($extension eq "css"){ $mimetype="text/css";}
	if($extension eq "csv"){ $mimetype="text/csv";}
	if($extension eq "cxx"){ $mimetype="text/plain";}
	if($extension eq "dcr"){ $mimetype="application/x-director";}
	if($extension eq "deepv"){ $mimetype="application/x-deepv";}
	if($extension eq "def"){ $mimetype="text/plain";}
	if($extension eq "der"){ $mimetype="application/x-x509-ca-cert";}
	if($extension eq "dif"){ $mimetype="video/x-dv";}
	if($extension eq "dir"){ $mimetype="application/x-director";}
	if($extension eq "dl"){ $mimetype="video/dl";}
	if($extension eq "dl"){ $mimetype="video/x-dl";}
	if($extension eq "doc"){ $mimetype="application/msword";}
	if($extension eq "dot"){ $mimetype="application/msword";}
	if($extension eq "dp"){ $mimetype="application/commonground";}
	if($extension eq "drw"){ $mimetype="application/drafting";}
	if($extension eq "dump"){ $mimetype="application/octet-stream";}
	if($extension eq "dv"){ $mimetype="video/x-dv";}
	if($extension eq "dvi"){ $mimetype="application/x-dvi";}
	if($extension eq "dwf"){ $mimetype="drawing/x-dwf (old)";}
	if($extension eq "dwf"){ $mimetype="model/vnd.dwf";}
	if($extension eq "dwg"){ $mimetype="application/acad";}
	if($extension eq "dwg"){ $mimetype="image/vnd.dwg";}
	if($extension eq "dwg"){ $mimetype="image/x-dwg";}
	if($extension eq "dxf"){ $mimetype="application/dxf";}
	if($extension eq "dxf"){ $mimetype="image/vnd.dwg";}
	if($extension eq "dxf"){ $mimetype="image/x-dwg";}
	if($extension eq "dxr"){ $mimetype="application/x-director";}
	if($extension eq "el"){ $mimetype="text/x-script.elisp";}
	if($extension eq "elc"){ $mimetype="application/x-bytecode.elisp (compiled elisp)";}
	if($extension eq "elc"){ $mimetype="application/x-elc";}
	if($extension eq "env"){ $mimetype="application/x-envoy";}
	if($extension eq "eps"){ $mimetype="application/postscript";}
	if($extension eq "es"){ $mimetype="application/x-esrehber";}
	if($extension eq "etx"){ $mimetype="text/x-setext";}
	if($extension eq "evy"){ $mimetype="application/envoy";}
	if($extension eq "evy"){ $mimetype="application/x-envoy";}
	if($extension eq "exe"){ $mimetype="application/octet-stream";}
	if($extension eq "f"){ $mimetype="text/plain";}
	if($extension eq "f"){ $mimetype="text/x-fortran";}
	if($extension eq "f77"){ $mimetype="text/x-fortran";}
	if($extension eq "f90"){ $mimetype="text/plain";}
	if($extension eq "f90"){ $mimetype="text/x-fortran";}
	if($extension eq "fdf"){ $mimetype="application/vnd.fdf";}
	if($extension eq "fif"){ $mimetype="application/fractals";}
	if($extension eq "fif"){ $mimetype="image/fif";}
	if($extension eq "fli"){ $mimetype="video/fli";}
	if($extension eq "fli"){ $mimetype="video/x-fli";}
	if($extension eq "flo"){ $mimetype="image/florian";}
	if($extension eq "flx"){ $mimetype="text/vnd.fmi.flexstor";}
	if($extension eq "fmf"){ $mimetype="video/x-atomic3d-feature";}
	if($extension eq "for"){ $mimetype="text/plain";}
	if($extension eq "for"){ $mimetype="text/x-fortran";}
	if($extension eq "fpx"){ $mimetype="image/vnd.fpx";}
	if($extension eq "fpx"){ $mimetype="image/vnd.net-fpx";}
	if($extension eq "frl"){ $mimetype="application/freeloader";}
	if($extension eq "funk"){ $mimetype="audio/make";}
	if($extension eq "g"){ $mimetype="text/plain";}
	if($extension eq "g3"){ $mimetype="image/g3fax";}
	if($extension eq "gif"){ $mimetype="image/gif";}
	if($extension eq "gl"){ $mimetype="video/gl";}
	if($extension eq "gl"){ $mimetype="video/x-gl";}
	if($extension eq "gsd"){ $mimetype="audio/x-gsm";}
	if($extension eq "gsm"){ $mimetype="audio/x-gsm";}
	if($extension eq "gsp"){ $mimetype="application/x-gsp";}
	if($extension eq "gss"){ $mimetype="application/x-gss";}
	if($extension eq "gtar"){ $mimetype="application/x-gtar";}
	if($extension eq "gz"){ $mimetype="application/x-compressed";}
	if($extension eq "gz"){ $mimetype="application/x-gzip";}
	if($extension eq "gzip"){ $mimetype="application/x-gzip";}
	if($extension eq "gzip"){ $mimetype="multipart/x-gzip";}
	if($extension eq "h"){ $mimetype="text/plain";}
	if($extension eq "h"){ $mimetype="text/x-h";}
	if($extension eq "hdf"){ $mimetype="application/x-hdf";}
	if($extension eq "help"){ $mimetype="application/x-helpfile";}
	if($extension eq "hgl"){ $mimetype="application/vnd.hp-hpgl";}
	if($extension eq "hh"){ $mimetype="text/plain";}
	if($extension eq "hh"){ $mimetype="text/x-h";}
	if($extension eq "hlb"){ $mimetype="text/x-script";}
	if($extension eq "hlp"){ $mimetype="application/hlp";}
	if($extension eq "hlp"){ $mimetype="application/x-helpfile";}
	if($extension eq "hlp"){ $mimetype="application/x-winhelp";}
	if($extension eq "hpg"){ $mimetype="application/vnd.hp-hpgl";}
	if($extension eq "hpgl"){ $mimetype="application/vnd.hp-hpgl";}
	if($extension eq "hqx"){ $mimetype="application/binhex";}
	if($extension eq "hqx"){ $mimetype="application/binhex4";}
	if($extension eq "hqx"){ $mimetype="application/mac-binhex";}
	if($extension eq "hqx"){ $mimetype="application/mac-binhex40";}
	if($extension eq "hqx"){ $mimetype="application/x-binhex40";}
	if($extension eq "hqx"){ $mimetype="application/x-mac-binhex40";}
	if($extension eq "hta"){ $mimetype="application/hta";}
	if($extension eq "htc"){ $mimetype="text/x-component";}
	if($extension eq "htm"){ $mimetype="text/html";}
	if($extension eq "html"){ $mimetype="text/html";}
	if($extension eq "htmls"){ $mimetype="text/html";}
	if($extension eq "htt"){ $mimetype="text/webviewhtml";}
	if($extension eq "htx"){ $mimetype="text/html";}
	if($extension eq "ice"){ $mimetype="x-conference/x-cooltalk";}
	if($extension eq "ico"){ $mimetype="image/x-icon";}
	if($extension eq "idc"){ $mimetype="text/plain";}
	if($extension eq "ief"){ $mimetype="image/ief";}
	if($extension eq "iefs"){ $mimetype="image/ief";}
	if($extension eq "iges"){ $mimetype="application/iges";}
	if($extension eq "iges"){ $mimetype="model/iges";}
	if($extension eq "igs"){ $mimetype="application/iges";}
	if($extension eq "igs"){ $mimetype="model/iges";}
	if($extension eq "ima"){ $mimetype="application/x-ima";}
	if($extension eq "imap"){ $mimetype="application/x-httpd-imap";}
	if($extension eq "inf"){ $mimetype="application/inf";}
	if($extension eq "ins"){ $mimetype="application/x-internett-signup";}
	if($extension eq "ip"){ $mimetype="application/x-ip2";}
	if($extension eq "isu"){ $mimetype="video/x-isvideo";}
	if($extension eq "it"){ $mimetype="audio/it";}
	if($extension eq "iv"){ $mimetype="application/x-inventor";}
	if($extension eq "ivr"){ $mimetype="i-world/i-vrml";}
	if($extension eq "ivy"){ $mimetype="application/x-livescreen";}
	if($extension eq "jam"){ $mimetype="audio/x-jam";}
	if($extension eq "jav"){ $mimetype="text/plain";}
	if($extension eq "jav"){ $mimetype="text/x-java-source";}
	if($extension eq "java"){ $mimetype="text/plain";}
	if($extension eq "java"){ $mimetype="text/x-java-source";}
	if($extension eq "jcm"){ $mimetype="application/x-java-commerce";}
	if($extension eq "jfif"){ $mimetype="image/jpeg";}
	if($extension eq "jfif"){ $mimetype="image/pjpeg";}
	if($extension eq "jfif-tbnl"){ $mimetype="image/jpeg";}
	if($extension eq "jpe"){ $mimetype="image/jpeg";}
	if($extension eq "jpe"){ $mimetype="image/pjpeg";}
	if($extension eq "jpeg"){ $mimetype="image/jpeg";}
	if($extension eq "jpeg"){ $mimetype="image/pjpeg";}
	if($extension eq "jpg"){ $mimetype="image/jpeg";}
	if($extension eq "jpg"){ $mimetype="image/pjpeg";}
	if($extension eq "jps"){ $mimetype="image/x-jps";}
	if($extension eq "js"){ $mimetype="application/x-javascript";}
	if($extension eq "jut"){ $mimetype="image/jutvision";}
	if($extension eq "kar"){ $mimetype="audio/midi";}
	if($extension eq "kar"){ $mimetype="music/x-karaoke";}
	if($extension eq "ksh"){ $mimetype="application/x-ksh";}
	if($extension eq "ksh"){ $mimetype="text/x-script.ksh";}
	if($extension eq "la"){ $mimetype="audio/nspaudio";}
	if($extension eq "la"){ $mimetype="audio/x-nspaudio";}
	if($extension eq "lam"){ $mimetype="audio/x-liveaudio";}
	if($extension eq "latex"){ $mimetype="application/x-latex";}
	if($extension eq "lha"){ $mimetype="application/lha";}
	if($extension eq "lha"){ $mimetype="application/octet-stream";}
	if($extension eq "lha"){ $mimetype="application/x-lha";}
	if($extension eq "lhx"){ $mimetype="application/octet-stream";}
	if($extension eq "list"){ $mimetype="text/plain";}
	if($extension eq "lma"){ $mimetype="audio/nspaudio";}
	if($extension eq "lma"){ $mimetype="audio/x-nspaudio";}
	if($extension eq "log"){ $mimetype="text/plain";}
	if($extension eq "lsp"){ $mimetype="application/x-lisp";}
	if($extension eq "lsp"){ $mimetype="text/x-script.lisp";}
	if($extension eq "lst"){ $mimetype="text/plain";}
	if($extension eq "lsx"){ $mimetype="text/x-la-asf";}
	if($extension eq "ltx"){ $mimetype="application/x-latex";}
	if($extension eq "lzh"){ $mimetype="application/octet-stream";}
	if($extension eq "lzh"){ $mimetype="application/x-lzh";}
	if($extension eq "lzx"){ $mimetype="application/lzx";}
	if($extension eq "lzx"){ $mimetype="application/octet-stream";}
	if($extension eq "lzx"){ $mimetype="application/x-lzx";}
	if($extension eq "m"){ $mimetype="text/plain";}
	if($extension eq "m"){ $mimetype="text/x-m";}
	if($extension eq "m1v"){ $mimetype="video/mpeg";}
	if($extension eq "m2a"){ $mimetype="audio/mpeg";}
	if($extension eq "m2v"){ $mimetype="video/mpeg";}
	if($extension eq "m3u"){ $mimetype="audio/x-mpequrl";}
	if($extension eq "man"){ $mimetype="application/x-troff-man";}
	if($extension eq "map"){ $mimetype="application/x-navimap";}
	if($extension eq "mar"){ $mimetype="text/plain";}
	if($extension eq "mbd"){ $mimetype="application/mbedlet";}
	if($extension eq "mc\$"){ $mimetype="application/x-magic-cap-package-1.0";}
	if($extension eq "mcd"){ $mimetype="application/mcad";}
	if($extension eq "mcd"){ $mimetype="application/x-mathcad";}
	if($extension eq "mcf"){ $mimetype="image/vasa";}
	if($extension eq "mcf"){ $mimetype="text/mcf";}
	if($extension eq "mcp"){ $mimetype="application/netmc";}
	if($extension eq "me"){ $mimetype="application/x-troff-me";}
	if($extension eq "mht"){ $mimetype="message/rfc822";}
	if($extension eq "mhtml"){ $mimetype="message/rfc822";}
	if($extension eq "mid"){ $mimetype="application/x-midi";}
	if($extension eq "mid"){ $mimetype="audio/midi";}
	if($extension eq "mid"){ $mimetype="audio/x-mid";}
	if($extension eq "mid"){ $mimetype="audio/x-midi";}
	if($extension eq "mid"){ $mimetype="music/crescendo";}
	if($extension eq "mid"){ $mimetype="x-music/x-midi";}
	if($extension eq "midi"){ $mimetype="application/x-midi";}
	if($extension eq "midi"){ $mimetype="audio/midi";}
	if($extension eq "midi"){ $mimetype="audio/x-mid";}
	if($extension eq "midi"){ $mimetype="audio/x-midi";}
	if($extension eq "midi"){ $mimetype="music/crescendo";}
	if($extension eq "midi"){ $mimetype="x-music/x-midi";}
	if($extension eq "mif"){ $mimetype="application/x-frame";}
	if($extension eq "mif"){ $mimetype="application/x-mif";}
	if($extension eq "mime"){ $mimetype="message/rfc822";}
	if($extension eq "mime"){ $mimetype="www/mime";}
	if($extension eq "mjf"){ $mimetype="audio/x-vnd.audioexplosion.mjuicemediafile";}
	if($extension eq "mjpg"){ $mimetype="video/x-motion-jpeg";}
	if($extension eq "mm"){ $mimetype="application/base64";}
	if($extension eq "mm"){ $mimetype="application/x-meme";}
	if($extension eq "mme"){ $mimetype="application/base64";}
	if($extension eq "mod"){ $mimetype="audio/mod";}
	if($extension eq "mod"){ $mimetype="audio/x-mod";}
	if($extension eq "moov"){ $mimetype="video/quicktime";}
	if($extension eq "mov"){ $mimetype="video/quicktime";}
	if($extension eq "movie"){ $mimetype="video/x-sgi-movie";}
	if($extension eq "mp2"){ $mimetype="audio/mpeg";}
	if($extension eq "mp2"){ $mimetype="audio/x-mpeg";}
	if($extension eq "mp2"){ $mimetype="video/mpeg";}
	if($extension eq "mp2"){ $mimetype="video/x-mpeg";}
	if($extension eq "mp2"){ $mimetype="video/x-mpeq2a";}
	if($extension eq "mp3"){ $mimetype="audio/mpeg3";}
	if($extension eq "mp3"){ $mimetype="audio/x-mpeg-3";}
	if($extension eq "mp3"){ $mimetype="video/mpeg";}
	if($extension eq "mp3"){ $mimetype="video/x-mpeg";}
	if($extension eq "mpa"){ $mimetype="audio/mpeg";}
	if($extension eq "mpa"){ $mimetype="video/mpeg";}
	if($extension eq "mpc"){ $mimetype="application/x-project";}
	if($extension eq "mpe"){ $mimetype="video/mpeg";}
	if($extension eq "mpeg"){ $mimetype="video/mpeg";}
	if($extension eq "mpg"){ $mimetype="audio/mpeg";}
	if($extension eq "mpg"){ $mimetype="video/mpeg";}
	if($extension eq "mpga"){ $mimetype="audio/mpeg";}
	if($extension eq "mpp"){ $mimetype="application/vnd.ms-project";}
	if($extension eq "mpt"){ $mimetype="application/x-project";}
	if($extension eq "mpv"){ $mimetype="application/x-project";}
	if($extension eq "mpx"){ $mimetype="application/x-project";}
	if($extension eq "mrc"){ $mimetype="application/marc";}
	if($extension eq "ms"){ $mimetype="application/x-troff-ms";}
	if($extension eq "mv"){ $mimetype="video/x-sgi-movie";}
	if($extension eq "my"){ $mimetype="audio/make";}
	if($extension eq "mzz"){ $mimetype="application/x-vnd.audioexplosion.mzz";}
	if($extension eq "nap"){ $mimetype="image/naplps";}
	if($extension eq "naplps"){ $mimetype="image/naplps";}
	if($extension eq "nc"){ $mimetype="application/x-netcdf";}
	if($extension eq "ncm"){ $mimetype="application/vnd.nokia.configuration-message";}
	if($extension eq "nif"){ $mimetype="image/x-niff";}
	if($extension eq "niff"){ $mimetype="image/x-niff";}
	if($extension eq "nix"){ $mimetype="application/x-mix-transfer";}
	if($extension eq "nsc"){ $mimetype="application/x-conference";}
	if($extension eq "nvd"){ $mimetype="application/x-navidoc";}
	if($extension eq "o"){ $mimetype="application/octet-stream";}
	if($extension eq "oda"){ $mimetype="application/oda";}
	if($extension eq "omc"){ $mimetype="application/x-omc";}
	if($extension eq "omcd"){ $mimetype="application/x-omcdatamaker";}
	if($extension eq "omcr"){ $mimetype="application/x-omcregerator";}
	if($extension eq "p"){ $mimetype="text/x-pascal";}
	if($extension eq "p10"){ $mimetype="application/pkcs10";}
	if($extension eq "p10"){ $mimetype="application/x-pkcs10";}
	if($extension eq "p12"){ $mimetype="application/pkcs-12";}
	if($extension eq "p12"){ $mimetype="application/x-pkcs12";}
	if($extension eq "p7a"){ $mimetype="application/x-pkcs7-signature";}
	if($extension eq "p7c"){ $mimetype="application/pkcs7-mime";}
	if($extension eq "p7c"){ $mimetype="application/x-pkcs7-mime";}
	if($extension eq "p7m"){ $mimetype="application/pkcs7-mime";}
	if($extension eq "p7m"){ $mimetype="application/x-pkcs7-mime";}
	if($extension eq "p7r"){ $mimetype="application/x-pkcs7-certreqresp";}
	if($extension eq "p7s"){ $mimetype="application/pkcs7-signature";}
	if($extension eq "part"){ $mimetype="application/pro_eng";}
	if($extension eq "pas"){ $mimetype="text/pascal";}
	if($extension eq "pbm"){ $mimetype="image/x-portable-bitmap";}
	if($extension eq "pcl"){ $mimetype="application/vnd.hp-pcl";}
	if($extension eq "pcl"){ $mimetype="application/x-pcl";}
	if($extension eq "pct"){ $mimetype="image/x-pict";}
	if($extension eq "pcx"){ $mimetype="image/x-pcx";}
	if($extension eq "pdb"){ $mimetype="chemical/x-pdb";}
	if($extension eq "pdf"){ $mimetype="application/pdf";}
	if($extension eq "pfunk"){ $mimetype="audio/make";}
	if($extension eq "pfunk"){ $mimetype="audio/make.my.funk";}
	if($extension eq "pgm"){ $mimetype="image/x-portable-graymap";}
	if($extension eq "pgm"){ $mimetype="image/x-portable-greymap";}
	if($extension eq "pic"){ $mimetype="image/pict";}
	if($extension eq "pict"){ $mimetype="image/pict";}
	if($extension eq "pkg"){ $mimetype="application/x-newton-compatible-pkg";}
	if($extension eq "pko"){ $mimetype="application/vnd.ms-pki.pko";}
	if($extension eq "pl"){ $mimetype="text/plain";}
	if($extension eq "pl"){ $mimetype="text/x-script.perl";}
	if($extension eq "plx"){ $mimetype="application/x-pixclscript";}
	if($extension eq "pm"){ $mimetype="image/x-xpixmap";}
	if($extension eq "pm"){ $mimetype="text/x-script.perl-module";}
	if($extension eq "pm4"){ $mimetype="application/x-pagemaker";}
	if($extension eq "pm5"){ $mimetype="application/x-pagemaker";}
	if($extension eq "png"){ $mimetype="image/png";}
	if($extension eq "pnm"){ $mimetype="application/x-portable-anymap";}
	if($extension eq "pnm"){ $mimetype="image/x-portable-anymap";}
	if($extension eq "pot"){ $mimetype="application/mspowerpoint";}
	if($extension eq "pot"){ $mimetype="application/vnd.ms-powerpoint";}
	if($extension eq "pov"){ $mimetype="model/x-pov";}
	if($extension eq "ppa"){ $mimetype="application/vnd.ms-powerpoint";}
	if($extension eq "ppm"){ $mimetype="image/x-portable-pixmap";}
	if($extension eq "pps"){ $mimetype="application/mspowerpoint";}
	if($extension eq "pps"){ $mimetype="application/vnd.ms-powerpoint";}
	if($extension eq "ppt"){ $mimetype="application/mspowerpoint";}
	if($extension eq "ppt"){ $mimetype="application/powerpoint";}
	if($extension eq "ppt"){ $mimetype="application/vnd.ms-powerpoint";}
	if($extension eq "ppt"){ $mimetype="application/x-mspowerpoint";}
	if($extension eq "ppz"){ $mimetype="application/mspowerpoint";}
	if($extension eq "pre"){ $mimetype="application/x-freelance";}
	if($extension eq "prt"){ $mimetype="application/pro_eng";}
	if($extension eq "ps"){ $mimetype="application/postscript";}
	if($extension eq "psd"){ $mimetype="application/octet-stream";}
	if($extension eq "pvu"){ $mimetype="paleovu/x-pv";}
	if($extension eq "pwz"){ $mimetype="application/vnd.ms-powerpoint";}
	if($extension eq "py"){ $mimetype="text/x-script.phyton";}
	if($extension eq "pyc"){ $mimetype="applicaiton/x-bytecode.python";}
	if($extension eq "qcp"){ $mimetype="audio/vnd.qcelp";}
	if($extension eq "qd3"){ $mimetype="x-world/x-3dmf";}
	if($extension eq "qd3d"){ $mimetype="x-world/x-3dmf";}
	if($extension eq "qif"){ $mimetype="image/x-quicktime";}
	if($extension eq "qt"){ $mimetype="video/quicktime";}
	if($extension eq "qtc"){ $mimetype="video/x-qtc";}
	if($extension eq "qti"){ $mimetype="image/x-quicktime";}
	if($extension eq "qtif"){ $mimetype="image/x-quicktime";}
	if($extension eq "ra"){ $mimetype="audio/x-pn-realaudio";}
	if($extension eq "ra"){ $mimetype="audio/x-pn-realaudio-plugin";}
	if($extension eq "ra"){ $mimetype="audio/x-realaudio";}
	if($extension eq "ram"){ $mimetype="audio/x-pn-realaudio";}
	if($extension eq "ras"){ $mimetype="application/x-cmu-raster";}
	if($extension eq "ras"){ $mimetype="image/cmu-raster";}
	if($extension eq "ras"){ $mimetype="image/x-cmu-raster";}
	if($extension eq "rast"){ $mimetype="image/cmu-raster";}
	if($extension eq "rexx"){ $mimetype="text/x-script.rexx";}
	if($extension eq "rf"){ $mimetype="image/vnd.rn-realflash";}
	if($extension eq "rgb"){ $mimetype="image/x-rgb";}
	if($extension eq "rm"){ $mimetype="application/vnd.rn-realmedia";}
	if($extension eq "rm"){ $mimetype="audio/x-pn-realaudio";}
	if($extension eq "rmi"){ $mimetype="audio/mid";}
	if($extension eq "rmm"){ $mimetype="audio/x-pn-realaudio";}
	if($extension eq "rmp"){ $mimetype="audio/x-pn-realaudio";}
	if($extension eq "rmp"){ $mimetype="audio/x-pn-realaudio-plugin";}
	if($extension eq "rng"){ $mimetype="application/ringing-tones";}
	if($extension eq "rng"){ $mimetype="application/vnd.nokia.ringing-tone";}
	if($extension eq "rnx"){ $mimetype="application/vnd.rn-realplayer";}
	if($extension eq "roff"){ $mimetype="application/x-troff";}
	if($extension eq "rp"){ $mimetype="image/vnd.rn-realpix";}
	if($extension eq "rpm"){ $mimetype="audio/x-pn-realaudio-plugin";}
	if($extension eq "rt"){ $mimetype="text/richtext";}
	if($extension eq "rt"){ $mimetype="text/vnd.rn-realtext";}
	if($extension eq "rtf"){ $mimetype="application/rtf";}
	if($extension eq "rtf"){ $mimetype="application/x-rtf";}
	if($extension eq "rtf"){ $mimetype="text/richtext";}
	if($extension eq "rtx"){ $mimetype="application/rtf";}
	if($extension eq "rtx"){ $mimetype="text/richtext";}
	if($extension eq "rv"){ $mimetype="video/vnd.rn-realvideo";}
	if($extension eq "s"){ $mimetype="text/x-asm";}
	if($extension eq "s3m"){ $mimetype="audio/s3m";}
	if($extension eq "saveme"){ $mimetype="application/octet-stream";}
	if($extension eq "sbk"){ $mimetype="application/x-tbook";}
	if($extension eq "scm"){ $mimetype="application/x-lotusscreencam";}
	if($extension eq "scm"){ $mimetype="text/x-script.guile";}
	if($extension eq "scm"){ $mimetype="text/x-script.scheme";}
	if($extension eq "scm"){ $mimetype="video/x-scm";}
	if($extension eq "sdml"){ $mimetype="text/plain";}
	if($extension eq "sdp"){ $mimetype="application/sdp";}
	if($extension eq "sdp"){ $mimetype="application/x-sdp";}
	if($extension eq "sdr"){ $mimetype="application/sounder";}
	if($extension eq "sea"){ $mimetype="application/sea";}
	if($extension eq "sea"){ $mimetype="application/x-sea";}
	if($extension eq "set"){ $mimetype="application/set";}
	if($extension eq "sgm"){ $mimetype="text/sgml";}
	if($extension eq "sgm"){ $mimetype="text/x-sgml";}
	if($extension eq "sgml"){ $mimetype="text/sgml";}
	if($extension eq "sgml"){ $mimetype="text/x-sgml";}
	if($extension eq "sh"){ $mimetype="application/x-bsh";}
	if($extension eq "sh"){ $mimetype="application/x-sh";}
	if($extension eq "sh"){ $mimetype="application/x-shar";}
	if($extension eq "sh"){ $mimetype="text/x-script.sh";}
	if($extension eq "shar"){ $mimetype="application/x-bsh";}
	if($extension eq "shar"){ $mimetype="application/x-shar";}
	if($extension eq "shtml"){ $mimetype="text/html";}
	if($extension eq "shtml"){ $mimetype="text/x-server-parsed-html";}
	if($extension eq "sid"){ $mimetype="audio/x-psid";}
	if($extension eq "sit"){ $mimetype="application/x-sit";}
	if($extension eq "sit"){ $mimetype="application/x-stuffit";}
	if($extension eq "skd"){ $mimetype="application/x-koan";}
	if($extension eq "skm"){ $mimetype="application/x-koan";}
	if($extension eq "skp"){ $mimetype="application/x-koan";}
	if($extension eq "skt"){ $mimetype="application/x-koan";}
	if($extension eq "sl"){ $mimetype="application/x-seelogo";}
	if($extension eq "smi"){ $mimetype="application/smil";}
	if($extension eq "smil"){ $mimetype="application/smil";}
	if($extension eq "snd"){ $mimetype="audio/basic";}
	if($extension eq "snd"){ $mimetype="audio/x-adpcm";}
	if($extension eq "sol"){ $mimetype="application/solids";}
	if($extension eq "spc"){ $mimetype="application/x-pkcs7-certificates";}
	if($extension eq "spc"){ $mimetype="text/x-speech";}
	if($extension eq "spl"){ $mimetype="application/futuresplash";}
	if($extension eq "spr"){ $mimetype="application/x-sprite";}
	if($extension eq "sprite"){ $mimetype="application/x-sprite";}
	if($extension eq "src"){ $mimetype="application/x-wais-source";}
	if($extension eq "ssi"){ $mimetype="text/x-server-parsed-html";}
	if($extension eq "ssm"){ $mimetype="application/streamingmedia";}
	if($extension eq "sst"){ $mimetype="application/vnd.ms-pki.certstore";}
	if($extension eq "step"){ $mimetype="application/step";}
	if($extension eq "stl"){ $mimetype="application/sla";}
	if($extension eq "stl"){ $mimetype="application/vnd.ms-pki.stl";}
	if($extension eq "stl"){ $mimetype="application/x-navistyle";}
	if($extension eq "stp"){ $mimetype="application/step";}
	if($extension eq "sv4cpio"){ $mimetype="application/x-sv4cpio";}
	if($extension eq "sv4crc"){ $mimetype="application/x-sv4crc";}
	if($extension eq "svf"){ $mimetype="image/vnd.dwg";}
	if($extension eq "svf"){ $mimetype="image/x-dwg";}
	if($extension eq "svr"){ $mimetype="application/x-world";}
	if($extension eq "svr"){ $mimetype="x-world/x-svr";}
	if($extension eq "swf"){ $mimetype="application/x-shockwave-flash";}
	if($extension eq "t"){ $mimetype="application/x-troff";}
	if($extension eq "talk"){ $mimetype="text/x-speech";}
	if($extension eq "tar"){ $mimetype="application/x-tar";}
	if($extension eq "tbk"){ $mimetype="application/toolbook";}
	if($extension eq "tbk"){ $mimetype="application/x-tbook";}
	if($extension eq "tcl"){ $mimetype="application/x-tcl";}
	if($extension eq "tcl"){ $mimetype="text/x-script.tcl";}
	if($extension eq "tcsh"){ $mimetype="text/x-script.tcsh";}
	if($extension eq "tex"){ $mimetype="application/x-tex";}
	if($extension eq "texi"){ $mimetype="application/x-texinfo";}
	if($extension eq "texinfo"){ $mimetype="application/x-texinfo";}
	if($extension eq "text"){ $mimetype="application/plain";}
	if($extension eq "text"){ $mimetype="text/plain";}
	if($extension eq "tgz"){ $mimetype="application/gnutar";}
	if($extension eq "tgz"){ $mimetype="application/x-compressed";}
	if($extension eq "tif"){ $mimetype="image/tiff";}
	if($extension eq "tif"){ $mimetype="image/x-tiff";}
	if($extension eq "tiff"){ $mimetype="image/tiff";}
	if($extension eq "tiff"){ $mimetype="image/x-tiff";}
	if($extension eq "tr"){ $mimetype="application/x-troff";}
	if($extension eq "tsi"){ $mimetype="audio/tsp-audio";}
	if($extension eq "tsp"){ $mimetype="application/dsptype";}
	if($extension eq "tsp"){ $mimetype="audio/tsplayer";}
	if($extension eq "tsv"){ $mimetype="text/tab-separated-values";}
	if($extension eq "turbot"){ $mimetype="image/florian";}
	if($extension eq "txt"){ $mimetype="text/plain";}
	if($extension eq "uil"){ $mimetype="text/x-uil";}
	if($extension eq "uni"){ $mimetype="text/uri-list";}
	if($extension eq "unis"){ $mimetype="text/uri-list";}
	if($extension eq "unv"){ $mimetype="application/i-deas";}
	if($extension eq "uri"){ $mimetype="text/uri-list";}
	if($extension eq "uris"){ $mimetype="text/uri-list";}
	if($extension eq "ustar"){ $mimetype="application/x-ustar";}
	if($extension eq "ustar"){ $mimetype="multipart/x-ustar";}
	if($extension eq "uu"){ $mimetype="application/octet-stream";}
	if($extension eq "uu"){ $mimetype="text/x-uuencode";}
	if($extension eq "uue"){ $mimetype="text/x-uuencode";}
	if($extension eq "vcd"){ $mimetype="application/x-cdlink";}
	if($extension eq "vcs"){ $mimetype="text/x-vcalendar";}
	if($extension eq "vda"){ $mimetype="application/vda";}
	if($extension eq "vdo"){ $mimetype="video/vdo";}
	if($extension eq "vew"){ $mimetype="application/groupwise";}
	if($extension eq "viv"){ $mimetype="video/vivo";}
	if($extension eq "viv"){ $mimetype="video/vnd.vivo";}
	if($extension eq "vivo"){ $mimetype="video/vivo";}
	if($extension eq "vivo"){ $mimetype="video/vnd.vivo";}
	if($extension eq "vmd"){ $mimetype="application/vocaltec-media-desc";}
	if($extension eq "vmf"){ $mimetype="application/vocaltec-media-file";}
	if($extension eq "voc"){ $mimetype="audio/voc";}
	if($extension eq "voc"){ $mimetype="audio/x-voc";}
	if($extension eq "vos"){ $mimetype="video/vosaic";}
	if($extension eq "vox"){ $mimetype="audio/voxware";}
	if($extension eq "vqe"){ $mimetype="audio/x-twinvq-plugin";}
	if($extension eq "vqf"){ $mimetype="audio/x-twinvq";}
	if($extension eq "vql"){ $mimetype="audio/x-twinvq-plugin";}
	if($extension eq "vrml"){ $mimetype="application/x-vrml";}
	if($extension eq "vrml"){ $mimetype="model/vrml";}
	if($extension eq "vrml"){ $mimetype="x-world/x-vrml";}
	if($extension eq "vrt"){ $mimetype="x-world/x-vrt";}
	if($extension eq "vsd"){ $mimetype="application/x-visio";}
	if($extension eq "vst"){ $mimetype="application/x-visio";}
	if($extension eq "vsw"){ $mimetype="application/x-visio";}
	if($extension eq "w60"){ $mimetype="application/wordperfect6.0";}
	if($extension eq "w61"){ $mimetype="application/wordperfect6.1";}
	if($extension eq "w6w"){ $mimetype="application/msword";}
	if($extension eq "wav"){ $mimetype="audio/wav";}
	if($extension eq "wav"){ $mimetype="audio/x-wav";}
	if($extension eq "wb1"){ $mimetype="application/x-qpro";}
	if($extension eq "wbmp"){ $mimetype="image/vnd.wap.wbmp";}
	if($extension eq "web"){ $mimetype="application/vnd.xara";}
	if($extension eq "wiz"){ $mimetype="application/msword";}
	if($extension eq "wk1"){ $mimetype="application/x-123";}
	if($extension eq "wmf"){ $mimetype="windows/metafile";}
	if($extension eq "wml"){ $mimetype="text/vnd.wap.wml";}
	if($extension eq "wmlc"){ $mimetype="application/vnd.wap.wmlc";}
	if($extension eq "wmls"){ $mimetype="text/vnd.wap.wmlscript";}
	if($extension eq "wmlsc"){ $mimetype="application/vnd.wap.wmlscriptc";}
	if($extension eq "word"){ $mimetype="application/msword";}
	if($extension eq "wp"){ $mimetype="application/wordperfect";}
	if($extension eq "wp5"){ $mimetype="application/wordperfect";}
	if($extension eq "wp5"){ $mimetype="application/wordperfect6.0";}
	if($extension eq "wp6"){ $mimetype="application/wordperfect";}
	if($extension eq "wpd"){ $mimetype="application/wordperfect";}
	if($extension eq "wpd"){ $mimetype="application/x-wpwin";}
	if($extension eq "wq1"){ $mimetype="application/x-lotus";}
	if($extension eq "wri"){ $mimetype="application/mswrite";}
	if($extension eq "wri"){ $mimetype="application/x-wri";}
	if($extension eq "wrl"){ $mimetype="application/x-world";}
	if($extension eq "wrl"){ $mimetype="model/vrml";}
	if($extension eq "wrl"){ $mimetype="x-world/x-vrml";}
	if($extension eq "wrz"){ $mimetype="model/vrml";}
	if($extension eq "wrz"){ $mimetype="x-world/x-vrml";}
	if($extension eq "wsc"){ $mimetype="text/scriplet";}
	if($extension eq "wsrc"){ $mimetype="application/x-wais-source";}
	if($extension eq "wtk"){ $mimetype="application/x-wintalk";}
	if($extension eq "xbm"){ $mimetype="image/x-xbitmap";}
	if($extension eq "xbm"){ $mimetype="image/x-xbm";}
	if($extension eq "xbm"){ $mimetype="image/xbm";}
	if($extension eq "xdr"){ $mimetype="video/x-amt-demorun";}
	if($extension eq "xgz"){ $mimetype="xgl/drawing";}
	if($extension eq "xif"){ $mimetype="image/vnd.xiff";}
	if($extension eq "xl"){ $mimetype="application/excel";}
	if($extension eq "xla"){ $mimetype="application/excel";}
	if($extension eq "xla"){ $mimetype="application/x-excel";}
	if($extension eq "xla"){ $mimetype="application/x-msexcel";}
	if($extension eq "xlb"){ $mimetype="application/excel";}
	if($extension eq "xlb"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xlb"){ $mimetype="application/x-excel";}
	if($extension eq "xlc"){ $mimetype="application/excel";}
	if($extension eq "xlc"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xlc"){ $mimetype="application/x-excel";}
	if($extension eq "xld"){ $mimetype="application/excel";}
	if($extension eq "xld"){ $mimetype="application/x-excel";}
	if($extension eq "xlk"){ $mimetype="application/excel";}
	if($extension eq "xlk"){ $mimetype="application/x-excel";}
	if($extension eq "xll"){ $mimetype="application/excel";}
	if($extension eq "xll"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xll"){ $mimetype="application/x-excel";}
	if($extension eq "xlm"){ $mimetype="application/excel";}
	if($extension eq "xlm"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xlm"){ $mimetype="application/x-excel";}
	if($extension eq "xls"){ $mimetype="application/excel";}
	if($extension eq "xls"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xls"){ $mimetype="application/x-excel";}
	if($extension eq "xls"){ $mimetype="application/x-msexcel";}
	if($extension eq "xlt"){ $mimetype="application/excel";}
	if($extension eq "xlt"){ $mimetype="application/x-excel";}
	if($extension eq "xlv"){ $mimetype="application/excel";}
	if($extension eq "xlv"){ $mimetype="application/x-excel";}
	if($extension eq "xlw"){ $mimetype="application/excel";}
	if($extension eq "xlw"){ $mimetype="application/vnd.ms-excel";}
	if($extension eq "xlw"){ $mimetype="application/x-excel";}
	if($extension eq "xlw"){ $mimetype="application/x-msexcel";}
	if($extension eq "xm"){ $mimetype="audio/xm";}
	if($extension eq "xml"){ $mimetype="application/xml";}
	if($extension eq "xml"){ $mimetype="text/xml";}
	if($extension eq "xmz"){ $mimetype="xgl/movie";}
	if($extension eq "xpix"){ $mimetype="application/x-vnd.ls-xpix";}
	if($extension eq "xpm"){ $mimetype="image/x-xpixmap";}
	if($extension eq "xpm"){ $mimetype="image/xpm";}
	if($extension eq "x-png"){ $mimetype="image/png";}
	if($extension eq "xsr"){ $mimetype="video/x-amt-showrun";}
	if($extension eq "xwd"){ $mimetype="image/x-xwd";}
	if($extension eq "xwd"){ $mimetype="image/x-xwindowdump";}
	if($extension eq "xyz"){ $mimetype="chemical/x-pdb";}
	if($extension eq "z"){ $mimetype="application/x-compress";}
	if($extension eq "z"){ $mimetype="application/x-compressed";}
	if($extension eq "zip"){ $mimetype="application/x-compressed";}
	if($extension eq "zip"){ $mimetype="application/x-zip-compressed";}
	if($extension eq "zip"){ $mimetype="application/zip";}
	if($extension eq "zip"){ $mimetype="multipart/x-zip";}
	if($extension eq "zoo"){ $mimetype="application/octet-stream";}
	if($extension eq "zsh"){ $mimetype="text/x-script.zsh";}
	if($mimetype eq ''){
		print STDERR "Can't locate mimetype for $extension!\n";
		exit;
	}
	return $mimetype;
}

sub get_filename{
	my $path=shift;
	my @list=split(/\//,$path);
	return pop(@list);
}



This page and all content (C)2002-2004 Nathan E. Pralle.
www.nathanpralle.com
Unauthorized distribution is prohibited except with written permission of the author.