develooper Front page | perl.pep | Postings from September 2016

Re: Email::Address::XS

Thread Previous | Thread Next
September 18, 2016 15:41
Re: Email::Address::XS
Message ID:
On Sunday 18 September 2016 17:26:11 Ricardo Signes wrote:
> * [2016-09-17T19:05:51]
> > $class->from_mime_string() will take raw MIME encoded string and
> > returns new object of $class (which will have decoded string
> > parts) $object->as_mime_string() will convert (Unicode) $object
> > into raw MIME encoded string
> > 
> > It is OK for you?
> That all sounded fine.  I think the paragraph I left quoted
> overspecifies a bit.  Whether the object is storing things decoded
> or not isn't any of our concern as long as it has those two methods.
>  But I think we're on the same page.


> The Email::Address::XS use should be optional, as right now people
> can install Email::MIME in an compiler-free environment.  We can add
> it as a recommended prereq.

Currently passing string values of From/To/Cc/Bcc/... headers into 
header_str() method is broken in Email::MIME. That is because 
Email::MIME currently uses Email::Address for generating those header 
values (which is broken) and then MIME encode those broken outputs.

Email::Address::XS has (looks like) correctly implemented formatter and 
so it is needed to correctly MIME encode From/To/Cc/Bcc headers.

I started working on Email::MIME::Header::AddressList module (which will 
have from_mime_string() and as_mime_string() methods for From/To/Cc/Bcc 
headers) and this module cannot work without Email::Address::XS.

So what to do with currently broken From/To/Cc/Bcc/... headers 
(incorrectly MIME encoded) which Email::MIME generate? I do not see 
other option as dependency on Email::Address::XS.

As compromise could be: Whole Email::MIME will not depends on module 
Email::Address::XS. But if somebody want to pass Unicode string (via 
header_str) to Email::MIME then MIME encoding will be done via 
Email::MIME::Header::AddressList (which will use Email::Address::XS). So 
if caller encodes manually From/To/Cc/... headers and pass them via 
header_raw() then Email::Address::XS will not be needed.

But when it pass Unicode string for From/To/Cc/.. headers via header_str 
then it Email::MIME will loads Email::MIME::Header::AddressList which 
depends on Email::Address::XS...

It is acceptable?

And can be Email::MIME::Header::AddressList part of Email-MIME 
distribution (even if only this module will depends on XS)?

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About