2011-01-15 18 views

Respuesta

36

Si prefiere utilizar una biblioteca dedicada a la comprensión de estas cosas:

→ irb -rmail 
ruby-1.9.2-p0 > Mail::Address.new('[email protected]').domain 
=> "example.com" 
+2

preferido mucho más de una división en mi opinión. ¡Gracias! –

+2

Parece que esta biblioteca no se ha actualizado en 5 años y (al menos para mí) no funciona con ruby2. –

+4

@AndyHayden [Correo] (https://rubygems.org/gems/mail) se mantiene y funciona con Ruby 2.0 y 2.1. Los rieles dependen de esta gema, por lo que debe funcionar con Rubies recientes. Lo más probable es que una de tus gemas introduzca algunas limitaciones de versión que te prohíban utilizar la versión más nueva de Mail. – skalee

1
>> email = "Sahil Grover<[email protected]>"   
    => "Sahil Grover<[email protected]>" 

    >> mail = Mail::Address.new(email)   
    => #<Mail::Address:75152940 Address: |Sahil Grover <[email protected]>| > 

    >> mail.instance_values   
    => {"output_type"=>:decode, 
     "parsed"=>true, 
    "data"=>#<struct Mail::Parsers::AddressStruct 
    raw="Sahil Grover<[email protected]>", 
    domain="stackoverflow.com", 
    comments=[], 
    local="sahil+test", 
    obs_domain_list=nil, 
    display_name="Sahil Grover", 
    group=nil, 
    error=nil>, 
    "display_name"=>"Sahil Grover"} 

    >> mail.domain   
    => "stackoverflow.com" 
+0

Si realiza un benchmark/ips [esta versión es 32.26x más lenta] (https://gist.github.com/benoittgt/79ef8152e2e78fb09b99) – Mio

Cuestiones relacionadas