[PHP-dev 1197] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる

Rui Hirokawa rui_hirokawa @ ybb.ne.jp
2005年 11月 14日 (月) 23:01:27 JST


廣川です。

On Fri, 11 Nov 2005 17:40:24 +0900
Tadashi Jokagi <ml @ elf.no-ip.org> wrote:

>       ぢょ〜@よくきたなです.
> 
> Rui Hirokawaさんの「[PHP-dev 1195] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる」から
> >On Sat, 05 Nov 2005 19:31:52 +0900
> >Tadashi Jokagi <ml @ elf.no-ip.org> wrote:
> >
> >>       上鍵です.こんにちは.
> >> 
> >> Rui Hirokawaさんの<20051105141734.FABA.RUI_HIROKAWA @ ybb.ne.jp>から
> >> >mb_send_mail()については、改行コードに\nがハードコードされている
> >> >ところやヘッダが長い場合の折り返しについて問題点として指摘されて
> >> >いた気がしますが、具体的にはどんな問題だったでしょうか?
> >> 
> >>       mb_send_mail() は最終的に mail() に橋渡しするのですが,下記の
> >>     ような問題があります.
> >> 
> >>     ・Subject が RFC 違反
> >>       メールヘッダーはフィールド名とフィールド値(と改行文字)の合計が
> >>       76 文字未満としていますが,mb_encode_mimeheader() は 74 文字で
> >>       ハードコーディングされているため,フィールド値だけで 74 文字で
> >>       改行されます.よって 1 行目が「Subject:」の分長くなります.
> >
> >これについては、mb_encode_mimeheader()にオフセットをオプションとして
> >指定可能にするパッチを作成しましたが、まずバグ報告として
> >登録頂く方が受け入れやすいと思うので、登録して頂けますか?
> 
>       結果から言いますと,「誰か報告よろしく」です.これって一応聞いて
>     みたいんですが,
> 
>     ・どういう風に指定可能になるのでしょうか?
>     ・PHP 4 でも反映されるんでしょうか?
> 

作成したのは、PHP 4.4.x用とPHP 6 (CVS HEAD)用です。

http://www.geocities.jp/rui_hirokawa/php/patch/php4_mb_mime_offset.patch.txt
にPHP4.4.x用を置いておきます。

使い方は単純で
$head = mb_encode_mimeheader($s, 'ISO-2022-JP', 'B', '\r\n', strlen("Subject: "));
のように5番目の引数にオフセットを指定できるようにしただけです。

バグ修正というよりも、仕様変更(機能追加)のような感じなので、
PHP 4.x系に入れるのはやや強引かもしれません。

-- 
Rui Hirokawa <rui_hirokawa @ ybb.ne.jp>




-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.13.0/167 - Release Date: 2005/11/11



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