Ruby电子邮件检查(RFC 2822)

Ruby电子邮件检查(RFC 2822),ruby,regex,email,Ruby,Regex,Email,有人知道Ruby中的正则表达式是什么来验证电子邮件地址是否为正确的RFC2822电子邮件格式吗 我想做的是: string.match(RFC_2822_REGEX) 其中“RFC_2822_REGEX”是用于验证我的字符串是否为有效的RFC 2882格式的正则表达式。Try 根据RFC2822规则进行正则表达式验证(它也是正则表达式的怪物),它还可以检查域在DNS中是否有效(具有MX或a记录),并执行测试传递以验证域的MX是否会接受给定地址的消息。最后两个检查是可选的。您可以使用gem根据R

有人知道Ruby中的正则表达式是什么来验证电子邮件地址是否为正确的RFC2822电子邮件格式吗

我想做的是:

string.match(RFC_2822_REGEX)
其中“RFC_2822_REGEX”是用于验证我的字符串是否为有效的RFC 2882格式的正则表达式。

Try

根据RFC2822规则进行正则表达式验证(它也是正则表达式的怪物),它还可以检查域在DNS中是否有效(具有MX或a记录),并执行测试传递以验证域的MX是否会接受给定地址的消息。最后两个检查是可选的。

您可以使用gem根据RFC2822解析任何字符串,如下所示:

def valid_email( value )
  begin
   return false if value == ''
   parsed = Mail::Address.new( value )
   return parsed.address == value && parsed.local != parsed.address
  rescue Mail::Field::ParseError
    return false
  end
end

这将检查是否提供了电子邮件,即返回空地址的
false
,并检查该地址是否包含域。

此正则表达式允许类似以下电子邮件:test@example/x、 com“及因此”test@example/////////////////////////////////x、 com“可能的副本无法解析RFC3696中列出的有效电子邮件,包括“Abc”\@def@example.com". :(