• ベストアンサー

sendmailとimodeの絵文字について

はじめまして、CGIからsendmailを使ってimodeにメールを送りたいのですが、絵文字が送信できません。一般的な文字は送れるのですが、imode特有の絵文字は文字化けしてしまいます。 CGIからsendmail経由でimodeに絵文字を送信するにはどのような方法が考えられるのか教えていただけないでしょうか。 ぶしつけで申し訳ありません。

  • CGI
  • 回答数6
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.6

ちなみに、No.5 ttkさんが回答されている「&#xxxxx;」の文字実体参照を使った表現は、HTMLのものですので、iモードメールで絵文字に変換されて表示される保証はないと思います。 iモード端末のメール表示画面は、内蔵されているWWWブラウザの機能が流用されているので、その端末のプログラミング次第でHTMLタグや文字実体参照が有効になる可能性があるだけです。 少なくとも、NTTドコモの公式ドキュメントにはiモードメールに文字実体参照が使えるとは書いていないようです。 機種によっては、「&#xxxxx;」がそのまま表示されてしまう可能性を考慮した方が良いと思います。

guusan
質問者

お礼

kazu-kunさんはプロのプログラマのようですね・・・ 私のようなにわかプログラマからは尊敬の念がたえません。 本当にありがとうございます。

guusan
質問者

補足

No.5 ttkさんの方法ですが、少なくとも私の携帯では(so503i)&#xxxxx;とそのままでてきております。 こちらの方法も実は試したのですが、どうやら、絵文字は送れないということになりそうですね・・・ (あるいは、so503iの人だけには事実上送れないというプログラムになりそうな気配がします) so以外のその他の機種でも確かにそのまま表示される可能性がありますので、確認をとらないといけないと思います。 絵文字には本当に悩まされます・・・ ありがとうございました。解決策があれば、ご教授願いたいと思います。

その他の回答 (5)

  • ttk
  • ベストアンサー率33% (1/3)
回答No.5

i-modeの絵文字を、 &#から始まる形式にしてメール本文等で使えばJISで送れますよ。 参考URLを参考にしてみてはどうですか?

参考URL:
http://specters.net/cgipon/labo/it_emoji.html
guusan
質問者

お礼

ありがとうございます。 その手で一度確認をとってみることにします。 本当に感謝しております。

guusan
質問者

補足

&#に文字列を変換して送るのも実は試してみました。 私の携帯はso503iですが、&#(絵文字の番号)と表示されるだけで、 肝心の絵文字は出てきませんでした。 ひょっとしたら、NやFなどでは出ているのかもしれません・・・ (確証がないのでなんともいえませんが) 参考URLは私も参考にしております。 お心遣いありがとうございます。

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.4

>sendmail以外でsjisを送れるようなメールプログラム等を利用した場合でも同じような現象が起こるのでしょうか? 同じですよ。簡単に書くと、 i-mode端末 -(1)→ WWWサーバ(CGI) -(2)→ メール送信プログラム(MUA)  -(3)→ メール転送プログラム(MTA) -(4)→ i-modeのメールサーバ  -(5)→ 相手のi-mode端末 (1),(5)は、SJISで送りますが、(3)~(4)はJISで送らなければならない(と「インターネット」のSMTPの規格で決まっている)のでダメです。 (2)はMUAが対応してれば何でもいいんですが。

guusan
質問者

補足

ありがとうございます。勉強になりました。 要は絵文字は使うなということになりそうですね・・・ しかしここで疑問があるのですが、出会い系のサイトなんかでは、結構絵文字が普通に送られてきます・・・(これはいわゆる迷惑メールではなく) 何度かやりとりしたことがあるのですが、これはどういう技術をつかってるんでしょうね?

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.3

>送信側も受信側も使用する端末はimodeなのです。 端末は関係ないです。 問題なのは、sendmailとe-mailを中継するネットワークに送る時には文字コードはJISにしなければならず、i-modeの外字はJISでは該当コードがないので表現できないことです。従って送ることは不可能です。 i-mode同士で送れるのは、NTTドコモ内のサーバで通信が完結するため、e-mailの規格を守らずにSJISで扱うように内部で設定しているから送れるだけで、 インターネットを少しでも通らなければならないe-mailでは無理です。

guusan
質問者

補足

なるほど。 imode自体がSJIS規格外の所に絵文字を割り振っているのはわかっていたのですが、「sendmail自体がjisにしなければならない」ここで文字化けしてるんだろうなと安直に考えていたのです。 それでは、ご無礼を承知でご質問いたしますが、sendmail以外でsjisを送れるようなメールプログラム等を利用した場合でも同じような現象が起こるのでしょうか?活路はsendmail以外のメールプログラムを使うことのような気がしてきました・・・

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.2

不可能です。i-modeの絵文字はNTTドコモが勝手に拡張した外字(機種依存文字)なので、eメールに使うJISコードには該当するコードがないので無理です。

guusan
質問者

補足

文章が足らなくて申し訳ありません。送信側も受信側も使用する端末はimodeなのです。絵文字を送信すると文字化けしてしまうということは、文字変換が問題なのでしょうか?jcode.plをつかってjis変換あるいはsjis変換(sjis変換はすべての文字が文字化けしましたが)してから送信する方法がネックだと睨んでいるのですが・・・

  • quenista
  • ベストアンサー率28% (122/425)
回答No.1

実際に試した事は無いので、何とも言えませんが...。 要は、その絵文字の文字コードを送れば可能では無いでしょうか?

guusan
質問者

補足

文字コードといいますか、送信も受信も使う端末はimodeなのです。 ですから、絵文字のコードはきちんと送っているのです。 結果は文字化けしてしまうということなのです。 やはり技術的に不可能なのでしょうか・・・

関連するQ&A

  • sendmailで文字化け

    sendmailを使いインターネットから相手のメールに送るCGIを作りました。目的はアイモードのメールに送信する事です。しかし携帯電話の所にメールを飛ばすと題名が文字化けしてしまいます。内容の部分は大丈夫なのですが、何かに変換しなければ行けないのでしょうか?教えて下さい。お願します。

    • 締切済み
    • CGI
  • PHPのsendmailでの文字化けについて

    PHPのsendmailでの文字化けについて PHPのsendmailをしています。 ソースの概略は以下のような感じです。 mb_language("Japanese"); mb_internal_encoding("SHIFT-JIS"); mb_send_mail($to, $subject, $body, $header); 質問1 (1)とか(株)などの特殊文字を送信すると?に変換されます。 それは良いのですが、PHPのsendmailによるメール送信の 定石としては、そのまま送信して?に変換されるのが良いのでしょうか? それとも、何かの文字に変換して送信する。だとか 送信前にチェックして、警告を出すべきなのでしょうか? 出来れば方法論とソースも教えて頂きたく存じます。 質問2 全角で493文字以上の本文を送信すると、493文字以降が 文字化けしてしまいます。何か文字数制限みたいなものがあるのでしょうか?

    • ベストアンサー
    • PHP
  • ドコモ絵文字インストールしたが

    Windows7 outlook2007です。ドコモ携帯メール受信すると絵文字部分が文字化けするので下記ドコモのサイトから絵文字ソフトインストール後絵文字メール受信してみましたが文字化けします。文字化けさせない方法あったらお願いします。 http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/tool/index.html

  • imodeの絵文字で作られたサイトを他のキェアリで見ると

    imodeの絵文字で作られたサイトを他のキェアリで見ると どのように表示されるんでしょう? 例えば、 1、i絵文字のソフトを使って 太陽の絵文字を入力したhtmlファイルを作成します。 2、ドコモで見たらもちろんテキスト絵文字として表示されます。 3、auで見たら太陽に変換されますか? 文字化けしますか? 4、ソフトバンクはどうですか? よろしくお願い致します。

  • NiftyでSendMail

    ニフティーのホームページでCGIをつかった、 アンケートを作りたいと思っています。 cgiのサイトにはSendmailのファイルを使うそうなのですが、 NiftyはSendmailに対応していないそうです。 なにかいい送信方法はないのでしょうか。 ちなみに相手のメーラーを経由する方法は、望ましくないとおもいます。 回答よろしくお願いします。

  • 携帯からパソコンへのメールで絵文字を送信

    携帯(ドコモのiモード)から(インターネット経由で)パソコンへのメールで絵文字を送信すると、パソコンでは読めません(文字化け=マークとなる)が、何かパソコンにソフトをインストールすると読めるようになるのでしょうか? 携帯からの絵文字をパソコンで読める方法があったら教えて下さい。

  • 携帯絵文字について

    imode、J-SKY、EZWEBの3機種対応の掲示板を今作っています。 そこで、質問があります。 携帯の絵文字が文字化けしたりしてなかなかうまくいきません。 ので削除しようと思うのです。 削除するいい方法はありませんか? また、表示するためには、どうしたらいいのですか? どうか、教えてください。 PHPは、4.2.2です。

    • ベストアンサー
    • PHP
  • i-modeの絵文字をパソコンで再現

    i-modeの応募で、絵文字の多用が想定されるものを考えています。 その際i-modeセンター経由のもので、メールで応募ですと、i-modeセンター側でメール中の絵文字は、docomo.ne.jpドメイン以外の場合、=の記号に変換されてしまうらしいのです。 また応募フォーム&sendmailを利用して見ましたが、文字化けが発生しました。 (ちなみに受信したパソコンにはkeitai-iという携帯絵文字フォントが入っております。) そこで何かしかの方法で、絵文字をパソコンで再現できる方法を探しております。(最終的には集計し一覧化、及び絵文字入りでプリントアウト)現状ではi-mode端末で受信し、バックアップソフトなどでパソコンに取り込むのが早いのかとも思っているのですが・・・。 企画立案がメインで、CGI等あまり詳しくないので、的外れな&初歩的なご質問でも御容赦いただけましたら幸いです。みなさまのお知恵を拝借したいと存じます。

    • ベストアンサー
    • CGI
  • sendmailについて教えて下さい。

    はじめまして。プログラムは初心者なので、よくわからないので誰かご教授お願いします。 フォームメール設置で、今までサーバーはLinxでsendmailだったのですが、windowsサーバーにも設置しようとおもったところwindowsサーバーはblatjですので、送信してくれません。そこでsendmail用に作られたcgiをblatjで動くようにソースを変えることは可能なのでしょうか?? 説明もへたで申し訳ないですが、親切な方ご教授お願いします。

    • 締切済み
    • CGI
  • sendmailについて教えてください。

    linux9(redhat)で、sendmail・qpopperを使ってメールを送信したいのですが、うまくいきません。 ルーターのポートは25・110ともに開いています。 サーバーのCGI(フォーム)からは、相手を問わず送信できるのですが、ローカルのPCからは送信できません。 どこを触ればいいのかわからないので教えていただけませんか? 宜しくお願いします。

専門家に質問してみよう