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

携帯電話に絵文字入りのメールを送信するプログラム。
昨日のiモード編に続いてau(EZWeb)編です。

auのサンプルコードは下記の通りです。

サンプルコード(au用)

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

$to = '[auのアドレス]@ezweb.ne.jp';
$from = 'example@example.jp';

$emoji_ez = makeEzEmoji('EC94');		// EZマーク
$emoji_exclamation = makeEzEmoji('EB5A');	// !
$emoji_mail = makeEzEmoji('EBFA');		// メール
$emoji_smile = makeEzEmoji('EBD4');		// スマイル

$subject = $emoji_ez . '絵文字' . '入り題名デス' . $emoji_exclamation;
$body = '絵文字入りの' . $emoji_mail . '本文デス' . $emoji_smile . '。';

// 文字コードを変更
$subject = mb_convert_encoding($subject, "JIS", "SJIS");
$body = mb_convert_encoding($body, "JIS", "SJIS");

// MIMEエンコーディングを行う
$subject = "=?ISO-2022-JP?B?" . base64_encode($subject) . "?=";

// ヘッダを作成
$headers = "From: " . $from . "\\n";
$headers .= "MIME-Version: 1.0\\n";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\\n";
$headers .= "Content-Transfer-Encoding: 7bit";

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

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

/**
 * EZWeb絵文字変換関数
 * @param	string		$code		絵文字を表すコードの文字列
 * @return					絵文字
 */
function makeEzEmoji($code) {
	$emoji = '';
	for ($i = 0; $i < strlen($code); $i += 2) {
		$emoji .= sprintf('%c', hexdec(substr($code, $i, 2)));
	}

	return $emoji;
}
?>

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

 

プログラムの最初の方で定義している絵文字の4桁のコードは、こちらに表があります。
→ KDDI au 技術情報 EZweb絵文字一覧【タイプD】 [kddi.com] ※PDFです

この表の中の一番右にある「Eメール送出用JISコードに対応したShift-JISコード」というのを使用しています。
なお、先日ご紹介した「OshimaExe」というソフトでも入力可能です。

上記のように設定した絵文字を、他の文言ごとJISコードに変換し、ISO-2022-JPのヘッダをつけて送信しています。

emojimail_au.jpg

 

関連:


 

最近の記事







3 Responses to “ケータイに絵文字入りメールを送信するには(au編)”

  1. ドコモ・ソフバンはできたのですが、au宛てのhtmlメールに絵文字を乗せたいときはどのように記述したらいいのでしょうか・・・・?

  2. […] [参考] 以下のサイトを参考にしました。 非常に助かりました。 http://ke-tai.org/blog/2007/11/16/emojimail_au/ カテゴリー: PHP, メール, 携帯 タグ: コメント (0) トラックバック (0) コメント […]

  3. […] ケータイに絵文字入りメールを送信するには(au編) | ke-tai.org – インフィニットループ […]

コメントを書く