:email 内のホスト名がブラックリストに登録されたホスト名の配列に存在するかどうかを検出する方法を作成しましたが、ほとんど役に立ちませんでした。
host = email.split("@").last // e.g. "hotmail.com"
bad_hostnames = %w(rtrtr.com )
if /.*(#{bad_hostnames.join("|")}).*\@/.match(host)
errors.add(:email, "Invalid temp mail provider")
end
ここで何が欠けていますか?正規表現はテストが困難です。ドットが問題を引き起こしているようです。電子メールで特定のブラックリストに登録された単語をチェックする同様の方法が正常に機能しています。