[PHP-dev 1033]iconv_mail_send() について (was Re: Fwd: [PHP-I18N] Re: ICU Extensions for PHP)

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2004年 11月 6日 (土) 07:26:56 JST


小泉です。

On 2004/11/04, at 16:52, Tadashi Jokagi wrote:

>       前述の通り,メール送信に mb_send_mail()が利用されることは非常に
>     多いと思います.もし iconv が標準で存在することになったら
>     l10n/i18n を意識してないオープンソース(sf.net にも結構あります)の
>     mail() でメール送信しているものを iconv_send_mail() にしてよ!!っ
>     て言いやすいと思います.mbstring は海外ではまず有効になってない場
>     合が多いので,なかなかそうもいえないんですよね.

分かりました。さっそく、実装を検討したいと思いますが、
前のメールに書いた通り 100% mb_send_mail() クローンに
しない方が良いと思いますし、ついでにこのような機能が
あったらいい、というような要望を求めたいと思います。

今のところ、要件としては

- mail() 関数とほぼ同じプロトタイプの関数 iconv_mail_send() を作る。
- メールの実体そのものをストリーム等に出力する iconv_mail_compose() を作る。
- iconv_mail_send() に関して、ヘッダの文字コードは additional_headers
   パラメータに指定する "X-PHP-Header-Charset"というヘッダによって
   指定できるようにする。例を挙げると、

    
======================================================================== 
====
   <?php
      $msg = "test";
      $headers  = "From: 日本の人 <japanese @ example.com>\r\n";
      $headers .= "X-PHP-Header-Charset: ISO-2022-JP";
      iconv_mail_send("nobody @ example.com", "サブジェクト", $msg, $headers);
   ?>
    
======================================================================== 
====

   とやると、

    
======================================================================== 
====
   From: =?ISO-2022-JP?B?GyRCRnxLXCROP00bKEI=?= <japanese @ example.com>
   Subject: =?ISO-2022-JP?B?GyRCJTUlViU4JSclLyVIGyhC?=

   test
    
======================================================================== 
====

   というメールが実際には送信される、そういったギミックを考えています。

を考えていまして、これなら既存のコードに大きく変更を加えることなく
i18n 対応できるかな? などと思っていますが、いかがでしょう。





PHP-dev メーリングリストの案内