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

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Tadashi Jokagi-3
      ぢょ〜@よくきたなです.

Rui Hirokawaさんの「[PHP-dev 1195] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる」から

>On Sat, 05 Nov 2005 19:31:52 +0900
>Tadashi Jokagi <[hidden email]> wrote:
>
>>       上鍵です.こんにちは.
>>
>> Rui Hirokawaさんの<[hidden email]>から
>> >mb_send_mail()については、改行コードに\nがハードコードされている
>> >ところやヘッダが長い場合の折り返しについて問題点として指摘されて
>> >いた気がしますが、具体的にはどんな問題だったでしょうか?
>>
>>       mb_send_mail() は最終的に mail() に橋渡しするのですが,下記の
>>     ような問題があります.
>>
>>     ・Subject が RFC 違反
>>       メールヘッダーはフィールド名とフィールド値(と改行文字)の合計が
>>       76 文字未満としていますが,mb_encode_mimeheader() は 74 文字で
>>       ハードコーディングされているため,フィールド値だけで 74 文字で
>>       改行されます.よって 1 行目が「Subject:」の分長くなります.
>
>これについては、mb_encode_mimeheader()にオフセットをオプションとして
>指定可能にするパッチを作成しましたが、まずバグ報告として
>登録頂く方が受け入れやすいと思うので、登録して頂けますか?

      結果から言いますと,「誰か報告よろしく」です.これって一応聞いて
    みたいんですが,

    ・どういう風に指定可能になるのでしょうか?
    ・PHP 4 でも反映されるんでしょうか?

    PHP 5 だと iconv 使うつもりでいるので,「mb_encode_mimeheader() は
    そういう仕様」ということでもかまわなかったりしています.特に古くか
    ら指定できなかったので,後 1 年は使わない機能という判断を上鍵はし
    てしまいます(PHP が5.x.x だったら指定できて〜みたいなスクリプトを
    細かいバージョンの差異であまり書きたくない)ということで既に
    iconv_mime_encode で実現できてるので,個人的には「メール送るなら時
    代は iconv」と考えています.

#先のメールのように「海外で mbstring は入っていない場合」などもあわせ
 るとという感じで.

>>     ・Windows は改行文字は「\r\n」でなければ RFC 違反
>>       Windows は引数で渡された値がそのまま SMTP プロトコルに使用され
>>       ます.SMTP は CR+LF の改行文字でなければならないので,LF だけ
>>       では RFC 違反になります.
>
>これは、改行をLFからCR+LFに直すことなら比較的簡単ですが、
>mail()関数の処理との整合性もあるので、難しいかもしれません。
>これもとりあえずバグ報告としてあげていただく方が良いかと思います。

      なるべく早いうちに登録したいと思います.といいつつ和英の方がより
    苦手なので「読めない英語」書いてしまう可能性が高いのですが(苦笑

#実は「force_extra_parameters が mb_send_mail() に使えて mail() に使え
 ないのはおかしい.これは「機能追加要望」ではなく「バグ報告だ」という
 bugs を投げたんですが,どうにも何を書いてるのか理解できなかったようで
 す;-(

>これは小泉さんもご指摘のように汎用的な実装となると難しいので、
>アプリケーション側で個別に対応頂くのが良いのではと思います。
>(何か良い手があるかもしれないですが。。。)

      対処としては当然ですが

    ・mb_encode_mimeheader()を使わない(独自でエンコード処理をする)
    ・問題があることを前提に mb_encode_mimeheader() を使う

    しかなくなってしまいます.多くの MUA がそうであるように,

    ・少なくとも行の開始 ASCII
    ・ctype_print() じゃない文字列(or 8bit or エスケープシーケンス)が
      出てきたら文字エンコードの切り替え
    ・行が分かったら次行の開始も ASCII としてはじめる

    でいいんじゃないかと思うのですが.

#上鍵は結局自分でエンコード処理を書いてしまいました.

--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Shibuya city mailto:[hidden email]
YokukitanaII http://elf.no-ip.org/
Yokukita blog http://blog.poyo.jp/
Yokukita wiki http://wiki.poyo.jp/
_______________________________________________
PHP-dev mailing list
[hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Rui Hirokawa

廣川です。

On Fri, 11 Nov 2005 17:40:24 +0900
Tadashi Jokagi <[hidden email]> 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 <[hidden email]> wrote:
> >
> >>       上鍵です.こんにちは.
> >>
> >> Rui Hirokawaさんの<[hidden email]>から
> >> >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 <[hidden email]>




--
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 mailing list
[hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Seiji Masugata
こんにちわ、桝形です。
 
> 作成したのは、PHP 4.4.x用とPHP 6 (CVS HEAD)用です。

下らない質問なのですが、PHP5系統には適用しないのでしょうか?
とりあえずバグ・レポート出しておきました。

http://bugs.php.net/bug.php?id=35253

ちょっと古いやつですが、php4-STABLE-200511072152でパッチを
適用してみました。問題ないように思えます。


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

http://www.php.net/ChangeLog-4.php

みると分かると思いますが、マイナーバージョン間でも機能追加は
(多くは無いけど)ありますよね。ですので、そんなに気にする事は
無いと思いますけど。

少なくとも、コレで幸せになれる(かもしれない)人達は居る訳で。



下らない横槍が入ったり、改修範囲が広かったりする場合は再考する
余地はあるかも思いますが、海外でmbstringが主流でないんだったら
「放っておいてくれよ」と(個人的には)思います。

PHP4はマダ現役で使われる事が容易に想像できるので、この場合は
iconvがリンクされていてもiconv_mime_encode関数は使えません。

--
Seiji Masugata <[hidden email]>

_______________________________________________
PHP-dev mailing list
[hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Seiji Masugata
桝形です。

> http://bugs.php.net/bug.php?id=35253

お膳立ては出来たと思うので、以下のパッチをコミット
して下さいませ。。。廣川さん。:)

http://www.geocities.jp/rui_hirokawa/php/patch/php4_mb_mime_offset.patch.txt

--
Seiji Masugata <[hidden email]>

_______________________________________________
PHP-dev mailing list
[hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Rui Hirokawa

廣川です。

ありがとうございます。週末にコミットしてみます。

On Fri, 18 Nov 2005 17:31:48 +0900
Seiji Masugata <[hidden email]> wrote:

> 桝形です。
>
> > http://bugs.php.net/bug.php?id=35253
>
> お膳立ては出来たと思うので、以下のパッチをコミット
> して下さいませ。。。廣川さん。:)
>
> http://www.geocities.jp/rui_hirokawa/php/patch/php4_mb_mime_offset.patch.txt
>
> --
> Seiji Masugata <[hidden email]>
>
> _______________________________________________


--
Rui Hirokawa <[hidden email]>




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

_______________________________________________
PHP-dev mailing list
[hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-dev
Loading...