You can do it in TCL with the MIME package from Tcllib.
package require mime
package require smtp
set psmsg [read_file report.pdf]
# create an image and text
set psT [mime::initialize -canonical
“application/pdf; name=”report.pdf”” -string $psmsg]
set textT [mime::initialize -canonical text/plain -string $body]
# create a multipart containing both, and a timestamp
set multiT [mime::initialize -canonical multipart/mixed
-parts [list $psT $textT]]
# call Sendmail to deliver the message
set rcpt [list “joe_user@valleymed.org” “david_barr@valleymed.org”]
set rcpt2 [join $rcpt ” “]
set fp [open “|/usr/sbin/sendmail $rcpt2” w]
puts $fp “To: [join $rcpt ,]”
puts $fp “From: “VMC.QDX Integrator production mode.” ”
puts $fp “Subject: error processing report from Penrad”
puts $fp [::mime::buildmessage $multiT]
close $fp
# The following code works from a standalone script, but not from
# within a cloverleaf process. In the future, I’d like to try to get
# this working.
#
# smtp::sendmessage $multiT
# -header [list To “David_Barr@valleymed.org”]
# -header [list Subject “error processing report from Penrad”]
# -servers { smtp.valleymed.net }
# -header [list From “David_Barr@valleymed.org”]