Class | Mail::Address |
In: |
lib/mail/elements/address.rb
|
Parent: | Object |
Mail::Address handles all email addresses in Mail. It takes an email address string and parses it, breaking it down into it‘s component parts and allowing you to get the address, comments, display name, name, local part, domain part and fully formatted address.
Mail::Address requires a correctly formatted email address per RFC2822 or RFC822. It handles all obsolete versions including obsolete domain routing on the local part.
a = Address.new('Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>') a.format #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)' a.address #=> 'mikel@test.lindsaar.net' a.display_name #=> 'Mikel Lindsaar' a.local #=> 'mikel' a.domain #=> 'test.lindsaar.net' a.comments #=> ['My email address'] a.to_s #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'
Provides a way to assign an address to an already made Mail::Address object.
a = Address.new a.address = 'Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>' a.address #=> 'mikel@test.lindsaar.net'
Provides a way to assign a display name to an already made Mail::Address object.
a = Address.new a.address = 'mikel@test.lindsaar.net' a.display_name = 'Mikel Lindsaar' a.format #=> 'Mikel Lindsaar <mikel@test.lindsaar.net>'
Returns a correctly formatted address for the email going out. If given an incorrectly formatted address as input, Mail::Address will do it‘s best to format it correctly. This includes quoting display names as needed and putting the address in angle brackets etc.
a = Address.new('Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>') a.format #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'