PHPで携帯にメールを送信するプログラムを作っていたところ、不具合発生!
・ドコモ宛のメールが「500 Line Too Long」エラーになる。
・auの一部携帯でメールの本文が途中で切れる。
ネットでググったけど、余り情報が無い。
どうしようかと悩んでいたときに下記サイトを発見。
PHP 文字数により絵文字対応メールが届かない
http://okwave.jp/qa/q7007778.html
絵文字対応をしたので、base64エンコードしてから送信するように変更していた。
それにともない、改行コードも含めて1行の長いデータになり、送信できなかったり、途中で切れたことが判明。
エンコード後にchunk_split()関数を実施したところ、問題が発生した携帯での受信が全てバッチリになりました。
PCからデコメールを送る
http://pentan.info/mobile/send_deco.html
chunk_split関数
http://php.net/manual/ja/function.chunk-split.php
ちなみに絵文字は「帯絵文字変換ライブラリ HTML_Emoji」を使って変換。
入力はドコモから提供されている「i絵文字」で行うようにしました。
メール送信は、PEAR::Mailを使ってます。
携帯対応は難しいですね。
↓クリックして頂けるとうれしいです(ワンクリック詐欺ではないです(笑)) 人気blogランキングへ
日本ブログ村へ