電子メールは、Unixの世界で生まれました。GUIのない、ターミナル画面で平文(プレーンテキスト)のメールだけが送られていました。しかも最初は英語のみでした。
現在のマルチメディアなメールも、そういった歴史を引き継いでいるので、いくつかの制約があります。
HTMLメールは、相手がそれを表示できるメールソフトを使っていなければ、わけのわからないものになります。
携帯メールなどでよく使う「絵文字」は、相手も同じキャリアの携帯でなければ見れません。
自分の使っているメールソフトが、いろいろな機能をもっているからといって、それを無条件に使って良いわけではないのです。
では、どうすれば適切なメールと判断できるのでしょうか。
メールの基本機能と追加機能の区別を理解しておけばよいのです。元祖Unixメール(SMTPメール)とは何かを知るだけで良いのです(
携帯のcメールなどのいわゆるショートメールは、SMTPメールとは別の方式です)。
メールの送信は、バケツリレー方式で行われます。パソコンAから、友達のパソコンBにメールが到達するには、
というふうに、何台ものサーバを経由します。メールサーバは国内だけとは限りません。インターネット上では国境線は何の意味もありません。
(あるとすれば、サーバOSの言語環境の違いだけです)。メール一本であっても、回線上をあっちへいったり、こっちへいったりします。
複数のサーバに読み込まれ、それぞれのメモリを消費し、ディスクも消費します。巨大な画像を添付して送るだけで、サーバによってはダウンすることもあります。
そんな具合ですから、メールは内容のあるものを、できるだけ小さいサイズで、正しい相手に送らねばなりません。
SPAMメールなどは、決して送ってはいけません。法的にも問題があります。
しかし正しい知識があれば、メールを活用するのにためらう必要はありません。こんな便利なものは、
なにしろ電話の発明以来なのですから、つかわなきゃ損、というものです。
メールはテキストデータです。バイナリ(画像や音声など)も送れる、と思っているかもしれませんが、
実は全部エンコードして送られます。中身を見てみると、わけのわからない文字列がえんえん続きます。
このテキストデータは、次のような構造になっています。
ヘッダには、差出人アドレス、宛先アドレス、subject(件名)をはじめ、ほかにもいろいろな情報が記述されます。そのなかに、
Content-Typeという項目があって、ここに「本文はこれこれの形式で書かれている」という情報が含まれているのです。
これがtext/plainであれば、平文メールということを意味します。HTMLメールなら、text/htmlとなります。

さてここに、multipartとかかれていることがあります。複数のブロックをくっつけて、一本のメールにして送るよ、
という意味です。添付ファイルの正体はこれだったのです。マルチパート電文でも、その要素がすべてテキストデータなら、
間にバウンダリと呼ばれる文字列が入っているだけなので、そのままでも読めます。
しかし通常添付するファイルはバイナリですから、それぞれのブロックに書かれたContent-Typeに応じたアプリケーションが必要になります。
もうおわかりのように、相手がもっていないソフトウェアを必要とするメールを送ってはいけません。
よくビジネスの世界で使われるワードやエクセル、パワーポイントなどの文書を、
そのままメールに添付してくる人がいますが、相手はそのソフトウェアを使っていない人かもしれません。
また、これらはウイルスやスパイウェアを配布するのに使われることもあるファイルなので、うかつに開くのは勇気がいります。
いきなり送りつけるのはルール違反なのです。
そういうときは、だれでもが見ることのできるpdf形式に変換して送るのがよいでしょう(サイズも小さくなります)。
もうひとつ注意すべき点は、SMTPメールはASCII文字にしか対応していないということです。
JISコードを使用することで、相手が日本語版のソフトを使っているなら、日本語も送れますが、
JISの半角カタカナはASCIIコードとダブるので文字化けします。最近は、メールソフト側で半角カタカナを全角に変換してくれることも多いのですが、
念のために常に全角で書くことを習慣づけるべきです。また、丸数字など、機種依存文字も使わないように気をつけましょう。