The object used as boolean will always return true
When the object is used in string context, it will return the encoded representation of the e-mail address, just like string() does.
Try to coerce the OBJECT into a Mail::Message::Field::Address
.
In case of a STRING, it is interpreted as an email address.
The OPTIONS are passed to the object creation, and overrule the values
found in the OBJECT. The result may be undef
or a newly created
object. If the OBJECT is already of the correct type, it is returned
unmodified.
The OBJECT may currently be a Mail::Address, a Mail::Identity, or a User::Identity. In case of the latter, one of the user's addresses is chosen at random.
When addresses are specified to be included in header fields, they may be coerced into Mail::Message::Field::Address objects first. What you specify is not accepted as address specification. This may be an internal error.
Parse the string for an address. You never know whether one or more addresses are specified on a line (often applications are wrong), therefore, the STRING is first parsed for as many addresses as possible and then the one is taken at random.