uuencode(拡張子は.uuや.uue)とはUNIX UNIX encodeの略。バイナリファイルをテキストデータに変換(エンコード)もしくはそのデータをもとのバイナリデータに符号化(デコード)するもの。可逆。むちゃぶりですが文字列を覚えられたら、人間でもバイナリを喋れる。
CentOSでは(標準で)uuencodeがないはず。必要であれば、それらを含むsharutilsパッケージをインストールすること。
# uuencode ./gazou.jpg WORDs > file.uu
ファイルサイズが1.5倍くらいになるけどたしかにmoreで見られる。正確なファイルサイズの増え方はマニュアルに書いていたと思う。ちなみに、uuencode -m するとbase64になる。WORDsにつけた名前が、uudecode後のファイル名となる。
サーバから配送するとき、圧縮(compress)して送るというのがまあベターな手順。(mailx で ~r してもいけるけど)
# uudecode ./file.uu
uuencode時に指定したWORDsのファイル名にデコードされる。
MIMEとはMultipurpose Internet Mail Extensionsの略。uuencodeだと1つの(バイナリ)ファイルに説明をつけて送る、だったが本文とかも全部ひっくるめて送りたい場合に使われるようになった。
ものすごくさっくり書くと
MIMEバージョン | MIMEバージョン名を書いておく |
---|---|
何のファイルか | そのファイルがもともと何かを書く。text/htmlとかimage/jpegとか |
符号化の方法 | charsetってやつ |
内容のエンコードビット数 | content-transfer-encoding : 7bit とか |
こういう情報をうめこむ。MewとかだとMIMEマルチパートの編集ができる。
で、MIME対応しているMUAとか(←まだ調べきってないよ%)であれば、何も考えずにエンコード・デコードできる。
たとえば、HTMLメールでこういうメールを送った場合、
サブジェクト:TEST DESU YO ※半角英数で書くことがポイント 本文:ほげほげ(改行)ほげほげ(赤)(改行)シグネチャ ※2行目はフォント色を赤に、シグネチャはイタリック(斜体)に
実際のメールの中身はこうなる(一部ヘッダ略)
Received:(経由サーバ) Message-ID: メッセージID From: メール差出人 To: =?iso-2022-jp?xxxx※宛先メールアドレスを漢字で登録していたため Subject: TEST DESU YO ※半角英数のためそのまま表示していることに注目 Date: メール送信日付 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_006B_01C9759C.xxxxx" This is a multi-part message in MIME format. ------=_NextPart_000_006B_01C9759C.xxxxx Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit ほげほげ ほげほげ(赤) (しぐねちゃ) ------=_NextPart_000_006B_01C9759C.xxxxx Content-Type: text/html; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable ※以下HTMLメールの中身(タグ付き) ------=_NextPart_000_006B_01C9759C.xxxxx--
NextPartの部分は同じ文字列ってことね
http://web.archive.org/web/20080107153216/http://www003.upp.so-net.ne.jp/hat/imail/cover.html #文字化けするときはエンコード設定でiso-2022-jpにする
http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html