1)どの機種、携帯会社で可能・不可能なのか?
「mailto:」自体はほぼ全ての携帯で利用可です。
制限があるのは「subject」および「body」の部分です。
Softbank(旧Vodafone/J-phone)のステーション機(※注釈)以降においては「mailbody」を使用する必要があります。
「mailbody」対応機種の場合、「subject」および「body」にも対応している機種と、「subject」または「body」の指定でエラーを起こす機種があります。
【書式】 <a href=”mailto:xxxx@xxxx.xx” mailbody=”Shift_JISの文字列”>
※ステーション機とは、User-Agentの「J-PHONE/x.0/」のx.0部分が3.0以上の機種。いわゆる3gp携帯
2)各キャリアでmailto文字数の制限があるのか?
手元にSoftbank機が無いのでこれは推測ですが、mailtoで送られるのはGETのURLとして認識されると思われます。
SoftbankではGETのURLは最大で半角256文字と決まっていますので、これを超えることは出来ません。
「mailto:」で送る文字列はUTF-8のURLエンコードですので、全角1文字につき9文字消費します。
さらに「mailto:」で7文字、「?subject=」で9文字、「&body=」で6文字と、メールアドレスの文字数を加えた数が半角256文字内に収まっている必要があります。
また、本文を指定してメーラを起動できたとしても古い機種ではメールの文字数に制限があるので送信できない場合もあります。
DoCoMoで全角250字まで、Softbank(J-phone時代)で全角192字までしか送信できません。
3)解決法はあるか?
CGIなどのプログラム的に機種を判定して、それぞれに最適な方法で設定してやれば解決できない事もありません。
しかしそのためには、まずは各社・各端末の仕様書を集め、分析し、プログラムを組む必要があります。
大変な労力が必要です。
これ以外での簡単な解決法は「Softbankは無かった事に」
これに尽きます。
※forteは文字数が多すぎていただけだったw