Mail(gem) で送信するメールの添付ファイルを 7bit ではなく base64 にする方法

Mail(gem) で送信するメールの本文を UTF-8 ではなく ISO-2022-JP にする方法 - Rubyとか Illustratorとか SFとか折紙とか では送信メール本文の文字コードについて考えた、添付ファイルがあるときは特段の事があるのだった。
その添付ファイルなんだけど、.pngファイルとかいかにもなものは普通に base64 になるのだけど、拡張子 .rb の Rubyスクリプトなんかだと application/x-ruby になってテキストそのまま付いて来たりする

Content-Type: application/x-ruby;
 charset=UTF-8;
 filename=<スクリプト名>.rb
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename=<スクリプト名>.rb

なので、スクリプトに日本語とか書いてるとちょっと不安だ。
これを base64 にするにはどうしたら良いんだろう。いろいろ試してみたが、結局のところ、添付する時に mime_type を指定してやれば良いようだ

mail = Mail.new <メールアドレスとか題名とかの設定>
mail.attachments[<添付ファイル名>] = {:mime_type => 'application/octet-stream', :content => File.read(<添付ファイルパス名>)}
mail.body = <本文テキスト>
(mail.parts - mail.attachments)[0].charset = 'ISO-2022-JP' # 必要なら本文テキストの文字コード設定
mail.deliver

mime_type は後からは設定できないみたいなの注意、「mail.content_type = 'application/octet-stream'」としても駄目だった。
add_file での添付では駄目っぽかった。
本文テキストの設定は添付の後でないと駄目っぽかった。
それから、添付ファイルパート自体やメール全体の charset は「charset=UTF-8」になってるのでなんか調整した方が良いかもしれない。
(今日の環境は ruby 1.9.2p0 (2010-08-18) [i386-mswin32_100]、mail (2.2.11))