[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

RFC2822::EmailAddress

Josselin

1/17/2007 10:56:00 AM

I am checking email addresses using RFC2822::EmailAddress

address =~ RFC2822::EmailAddress

seems to work fine, but I wonder why an email address like :
me@somewhere is accepeted.... there is no domain

is it right ?

tfyl

joss

4 Answers

Benedikt Heinen

1/17/2007 11:50:00 AM

0

Josselin

1/17/2007 1:04:00 PM

0

On 2007-01-17 12:50:22 +0100, Benedikt Heinen <ruby@ml.icemark.net> said:

> On Wed, 17 Jan 2007, Josselin wrote:
>
>> I am checking email addresses using RFC2822::EmailAddress
>>
>> address =~ RFC2822::EmailAddress
>>
>> seems to work fine, but I wonder why an email address like :
>> me@somewhere is accepeted.... there is no domain
>>
>> is it right ?
>
> it could still be 'me@somehost' - and as long as your mail service can
> resolve that address, it's perfectly fine... When you perform the
> regexp check therefore, this address is fine - the regexp check can't
> see whether the user, host, or domain are valid - but the format is OK.
>
>
>
>
> Benedikt
>
> ALLIANCE, n. In international politics, the union of two thieves who
> have their hands so deeply inserted in each other's pockets that
> they cannot separately plunder a third.
> (Ambrose Bierce, The Devil's Dictionary)

thanks a lot

dave rose

1/17/2007 1:56:00 PM

0

...excuse me....but..how do i load this module or is it a constant???
dave


Josselin wrote:
> On 2007-01-17 12:50:22 +0100, Benedikt Heinen <ruby@ml.icemark.net>
> said:
>
>>
>> ALLIANCE, n. In international politics, the union of two thieves who
>> have their hands so deeply inserted in each other's pockets that
>> they cannot separately plunder a third.
>> (Ambrose Bierce, The Devil's Dictionary)
>
> thanks a lot


--
Posted via http://www.ruby-....

Dominic Marks

1/17/2007 3:37:00 PM

0

On Wed, 17 Jan 2007 22:56:26 +0900
Dave Rose <bitdoger2@yahoo.com> wrote:

> ...excuse me....but..how do i load this module or is it a constant???
> dave

--
module RFC822
EmailAddress = begin
qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'
dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'
atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-' +
'\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'
quoted_pair = '\\x5c[\\x00-\\x7f]'
domain_literal = "\\x5b(?:#{dtext}|#{quoted_pair})*\\x5d"
quoted_string = "\\x22(?:#{qtext}|#{quoted_pair})*\\x22"
domain_ref = atom
sub_domain = "(?:#{domain_ref}|#{domain_literal})"
word = "(?:#{atom}|#{quoted_string})"
domain = "#{sub_domain}(?:\\x2e#{sub_domain})*"
local_part = "#{word}(?:\\x2e#{word})*"
addr_spec = "#{local_part}\\x40#{domain}"
pattern = /\A#{addr_spec}\z/
end
end
--

In your program. On in a file of its own and require 'rfc822.rb'

Dom