アカウント名:
パスワード:
RFCであんな難解なフォーマットを規定した合理的理由がないのも問題だと思いますけどね。
これは有効だけど、!#$%&'*+-/=?^_`.{|}~@example.comこれは無効。!#$%&'*+-/=?^_`{|}~.@example.com
有効な例でもバリデーションで弾くユーザ登録フォームが結構ありますし。
dot-atomとquoted-stringとquoted-pairをサポートすればいいだけ。1行の正規表現でとかやるから難解になるんじゃね?
ローカルパート作るときはアルファベットのみとかの制限つければいいし既存のメールアドレスを入力させる場合は@が含まれているか程度のチェックでいいだろ。
いくらバリデーションしても届かないものは届きませんしRFC準拠なら何でも登録させろというのはまた違うでしょ。
ガバガバすぎるでしょ。
dot-atomとquoted-stringとquoted-pairをサポートすればいいだけ。
だけじゃなくて他にも決まりはあるし、実際その3つだけでも真面目に実装したら結構たいへんですよ。
ん?送信エラーにおまかせってことですか?
RFC準拠なら何でも登録させろというのはまた違うでしょ。
チェックしなくていいっていう主張と矛盾してるんですが、RFC準拠なら届かなきゃおかしいです。
> チェックしなくていいっていう主張と矛盾してるんですが、RFC準拠なら届かなきゃおかしいです。
ええと、MTAの実装の話をしているのかな?
バリデーション書けないならライブラリとか使えば良くない?そんなに複雑なコードでもないよ。
例えばこれとかhttps://pypi.org/project/validate_email/#files [pypi.org]
そのライブラリ試したらこんなですけど?
$ python3>>> from validate_email import validate_email>>> validate_email('やっふーい@example.com')True
まぁ複雑かどうかは主観なのでどっちでもいいのですが、やる必要がないことをやらされてる感が半端ないです。
もしかして、RFC 6531あたりの国際化対応で'やっふーい@example.com'は正当なメールアドレスに分類されるので、Trueを返すのが適切という可能性がある?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
違反なのはわかってるけど (スコア:3, 参考になる)
RFCであんな難解なフォーマットを規定した合理的理由がないのも問題だと思いますけどね。
これは有効だけど、
!#$%&'*+-/=?^_`.{|}~@example.com
これは無効。
!#$%&'*+-/=?^_`{|}~.@example.com
有効な例でもバリデーションで弾くユーザ登録フォームが結構ありますし。
Re: (スコア:0)
dot-atomとquoted-stringとquoted-pairをサポートすればいいだけ。
1行の正規表現でとかやるから難解になるんじゃね?
ローカルパート作るときはアルファベットのみとかの制限つければいいし
既存のメールアドレスを入力させる場合は@が含まれているか程度のチェックでいいだろ。
いくらバリデーションしても届かないものは届きませんし
RFC準拠なら何でも登録させろというのはまた違うでしょ。
Re: (スコア:0)
ガバガバすぎるでしょ。
dot-atomとquoted-stringとquoted-pairをサポートすればいいだけ。
だけじゃなくて他にも決まりはあるし、実際その3つだけでも真面目に実装したら結構たいへんですよ。
ローカルパート作るときはアルファベットのみとかの制限つければいいし
既存のメールアドレスを入力させる場合は@が含まれているか程度のチェックでいいだろ。
ん?送信エラーにおまかせってことですか?
RFC準拠なら何でも登録させろというのはまた違うでしょ。
チェックしなくていいっていう主張と矛盾してるんですが、RFC準拠なら届かなきゃおかしいです。
Re:違反なのはわかってるけど (スコア:0)
> チェックしなくていいっていう主張と矛盾してるんですが、RFC準拠なら届かなきゃおかしいです。
ええと、MTAの実装の話をしているのかな?
バリデーション書けないならライブラリとか使えば良くない?
そんなに複雑なコードでもないよ。
例えばこれとか
https://pypi.org/project/validate_email/#files [pypi.org]
Re: (スコア:0)
そのライブラリ試したらこんなですけど?
$ python3
>>> from validate_email import validate_email
>>> validate_email('やっふーい@example.com')
True
まぁ複雑かどうかは主観なのでどっちでもいいのですが、
やる必要がないことをやらされてる感が半端ないです。
Re: (スコア:0)
もしかして、RFC 6531あたりの国際化対応で'やっふーい@example.com'は正当なメールアドレスに分類されるので、Trueを返すのが適切という可能性がある?