• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールアドレスの拒否の方法をお教え下さい。)

メールアドレスの拒否方法を解説

このQ&Aのポイント
  • 最近、フリーメールアドレスを使用したスパム登録に悩まされている方へ、特定のメールアドレスを拒否する方法を解説します。
  • 以下の方法を用いて、指定したメールアドレスを登録できないようにすることができます。
  • 正確な記述方法をお知りになりたい方は、ぜひご覧ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>@denyemail = ("abc@yahoo.co.jp","abc@gmail.com"); 値を " でくくってるから @ を配列のプレフィクスとして認識してしまうからではないでしょーか? 単純に @denyemail = ('abc@yahoo.co.jp','abc@gmail.com'); で行けません?

das_horn
質問者

お礼

ご回答ありがとうございました。 お教え頂いた通りに変更したら上手く引っかかるようになりました! 大変助かりました。 この度はどうもありがとうございました。

その他の回答 (2)

  • taporu
  • ベストアンサー率44% (46/104)
回答No.3

僕の環境では引っかかったので、何か違う理由かもしれませんが、 配列ではない、ということで、\@してみて下さい。 これでもダメだったら、@を.(ピリオド)に変えて下さい。 ピリオドは正規表現で任意の一文字という意味です。

das_horn
質問者

お礼

ご回答ありがとうございました。 下のNO.2のご回答のようにすれば上手くできました。

  • taporu
  • ベストアンサー率44% (46/104)
回答No.1

引っかかりますけど?? gabc@yahoo.co.jp でも引っかかるっていうことでしょうか? でしたら、 if ($email =~ /$_/i)を if ($email =~ /^($_)$/i) にかえてください。

das_horn
質問者

お礼

この度はご回答頂きありがとうございました。 色々と試してみました結果“@(アットマーク)”があると引っかからないようです。 以下のようにすると引っかかりました。 @denyemail = ("yahoo.co.jp","gmail.com"); ----------------------------------------------------------------- foreach(@denyemail){ if ($email =~ /$_/i){ &error("このメールアドレスは登録できません。"); } } ----------------------------------------------------------------- その代わり、yahooメールやgmailは全て拒否することになってしまいますが・・・。 @(アットマーク)を認識させるには、何か特別な記述が必要なのでしょうか?

関連するQ&A