▼事始めISO-2022-JPじゃ扱えない文字が多くなってきたので、Unicodeを符号化する方法の一つであるUTF-8で書かれたメールを送るにはどうしたら良いかを考えてみました。UTF-8は8bitのバイト列から構成されるので、7bitデータしか扱えない古いメールサーバーを経由された際に、文字化けしないようbase64形式でMIMEエンコードしてからメールを送るのが良いです。UTF-8で書かれたメールをやり取りするためには、メールを受信する相手が、UTF-8に対応したメーラーを使っている事、使いたい文字が入ったフォントを持っている事が必要となります。(5.8.0以降なら動くような気がします。以降では、いずれもperlに内蔵されていますので特に用意する必要はありません。CGI等で利用する場合には、クロスサイトスクリプティングなどを起こさないように変数に危険な文字列が入っていないかどうかをチェックする処理を追加してください。従来からのメタ文字の変換に加えて、不正なUTF-8文字列などは排除する必要があります。メール送信に使うSMTPサーバーと、ポート番号、送信者のドメインを設定する。送信者の名前とメールアドレスを設定する。宛先の宛名とメールアドレスを設定する。メールの件名を設定する。'UTF-8でメールを送ってみます。メールの本文を設定する。メールヘッダを作成する。from、to、件名共にMIME-Header(UTF-8)へエンコードします。