メールアドレスに使える文字は?

[上に] [前に] [次に]
Tiot [E-Mail] 1998/09/08(火) 23:19:03
メールを送信するcgiスクリプトをperlで作成しています。
スクリプトの中で、入力されたメールアドレスが不正な値だった場合
(全角のアルファベットなど)、エラーを返すようにしようと思っています。
エラーを返す処理はできるのですが、メールアドレス(daresore@xxx.yyy.zzz)の
前半部(daresore)にどういった文字が使えるかということが
勉強不足でよく分かりません。
今思い付くだけで、

アルファベットの大文字、小文字
数字
下記の、一部の記号、
-(ハイフン)、_(アンダースコア)、.(ピリオド)

が思い浮かびますが、それ以外にはどのようなものがあるでしょう?
それらを、規定した文書等、ご存知の方はご教示ください。
また、こういった変わった記号を使ったメールアドレスを見たことがある、
という方もいらっしゃいましたら教えてください。
よろしくお願いします。

SHUICHI.T [E-Mail] [HomePage] 1998/09/08(火) 23:42:47
>アルファベットの大文字、小文字
>数字
>下記の、一部の記号、
>-(ハイフン)、_(アンダースコア)、.(ピリオド)
それでいいと思いますよ。

ちなみに私の掲示板では前半部分にそれ以外の文字を使っていると書き込みできないようになっています。

匿名希望 1998/09/09(水) 08:57:16
メールアドレス(aaaa@bbbb.ccc)として使える文字は非常に
多いです。例えば!#$%&`+-'^{}も使えます。

RFC822によって定められています。

結局のところ、正規表現で書けば
[\x21-\x7E]以内
 且つ
[\(\)<>,;:\\"\[\]]以外
 且つ
/^[^@]+@[^@]+$/以内
ということになります。

Perlで書けば、
/[^\x21-\x7E]/ || /[\(\)<>,;:\\"\[\]]/ || !/^[^@]+@[^@]+$/
が不適当なものとなる。(適当なものを見るより不適当なものを見る
方が簡単。)

メールの実際のアドレス行にはこの他にコメント部分があるので、忘
れずに。


Tiot [E-Mail] 1998/09/09(水) 11:23:23
[[解決]]
お答えありがとうございます。
とても参考になりました。
rfc822のある場所をはりつけておきます。
http://aohakobe.ipc.chiba-u.ac.jp/staff/yozo/tmp/rfc-id/EMAIL/rfc822.txt

>メールの実際のアドレス行にはこの他にコメント部分があるので、忘
>れずに。
この処理は大変そうです(処理の前に英文のrfcを読んで理解するの
が一苦労です)。
rfc822を見ると、かなり自由な記述が許されているようですし。
今回はこの点は妥協して(^^;;今後の課題にしようと思います。

匿名希望 1998/09/09(水) 13:25:36
ちゃちゃ

822の日本語訳は多分探せばどこかにあるでしょう。でも
もしRFC822の該当する部分が日本語で書いてあったら
破滅的に難解でしょう^^;

あれは「半角英数字の英単語」だからまだ読みやすいのだ。

mo [E-Mail] 1998/09/10(木) 05:48:17
話題がそれますが、
http://www.barrier-free.co.jp/homes/RFCJ/
ってところで、RFC の日本語訳を集積/提供しています。

[上に] [前に] [次に]