mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:31:35 +08:00
Initial release of Discourse
This commit is contained in:
15
lib/email.rb
Normal file
15
lib/email.rb
Normal file
@ -0,0 +1,15 @@
|
||||
require 'mail'
|
||||
module Email
|
||||
|
||||
def self.is_valid?(email)
|
||||
|
||||
parser = Mail::RFC2822Parser.new
|
||||
parser.root = :addr_spec
|
||||
result = parser.parse(email)
|
||||
|
||||
# Don't allow for a TLD by itself list (sam@localhost)
|
||||
# The Grammar is: (local_part "@" domain) / local_part ... need to discard latter
|
||||
result && result.respond_to?(:domain) && result.domain.dot_atom_text.elements.size > 1
|
||||
end
|
||||
|
||||
end
|
Reference in New Issue
Block a user