ケータイに絵文字入りメールを送信するには(au編)
Tweet
携帯電話に絵文字入りのメールを送信するプログラム。
昨日の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のヘッダをつけて送信しています。
関連:
6月 9th, 2009 at 17:39:42
ドコモ・ソフバンはできたのですが、au宛てのhtmlメールに絵文字を乗せたいときはどのように記述したらいいのでしょうか・・・・?
6月 9th, 2011 at 18:39:39
[…] [参考] 以下のサイトを参考にしました。 非常に助かりました。 http://ke-tai.org/blog/2007/11/16/emojimail_au/ カテゴリー: PHP, メール, 携帯 タグ: コメント (0) トラックバック (0) コメント […]
1月 11th, 2015 at 23:19:30
[…] ケータイに絵文字入りメールを送信するには(au編) | ke-tai.org – インフィニットループ […]