ケータイに絵文字入りメールを送信するには(iモード編)
    このエントリをはてなブックマークに登録

プログラム側からケータイに絵文字入りのメールを送りたいケースはよくありますが、通常の方法では文字化けしてしまい送信することができません。

キャリア毎に絵文字の扱いが違うため、それぞれ違うプログラムで対処する必要があります。
今回はiモード用のサンプルコードをご紹介します。

 

サンプルコード(iモード用)

<?php
// iモードに絵文字入りメールを送るサンプル

$to = '[iモードのアドレス]@docomo.ne.jp';
$from = 'example@example.jp';

$subject = '[iの絵文字]絵文字入り[キラキラの絵文字]題名デス[ハートの絵文字]';
$body = '[iの絵文字]モードの絵文字入り[キラキラの絵文字]の[メールの絵文字]本文デス。';

// MIMEエンコーディングを行う
$subject = "=?shift_jis?B?" . base64_encode($subject) . "?=";
$body = base64_encode($body);

// ヘッダを作成
$headers = "From: " . $from . "\\n";
$headers .= "MIME-Version: 1.0\\n";
$headers .= "Content-Type: text/plain; charset=Shift-JIS\\n";
$headers .= "Content-Transfer-Encoding: base64";

// メールを送信
$res = mail($to, $subject, $body, $headers);

// 結果を取得
if ($res) {
	echo "OK\\n";
} else {
	echo "NG\\n";
}
?>

※ソースコードはSJISで記述しています

絵文字はPC上からは表示できないため、「[ハートの絵文字]」のように表現してあります。
実際には「i絵文字」などのツールを使って、SJIS形式の絵文字を直接入力してください。

Content-TypeをShift-JISとすることや、Subjectをshift_jisでエンコードすることがポイントのようです。
こうしておけば、絵文字や半角カナも問題なく送信されるようです。

emojimail_i.jpg

 

関連:


 

最近の記事







One Response to “ケータイに絵文字入りメールを送信するには(iモード編)”

  1. ご指摘を頂いていました。
    合わせてご確認ください。
    http://www.plusmb.jp/2009/05/29/3583.html

コメントを書く