Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Email::Mime Confusion

by saberworks (Curate)
on Oct 06, 2009 at 15:40 UTC ( #799513=note: print w/ replies, xml ) Need Help??


in reply to Email::Mime Confusion

I dug around in the source of Email::MIME and Email::Simple a bit. Email::MIME inherits from Email::Simple. Email::Simple has a body_set function that sets an object var, "body" (key in blessed hash ref). The "as_string" method in Email::MIME overrides the one in Email::Simple. The one in Email::MIME looks at the "body_raw" object var (key in blessed hash ref). So when you call body_set(), it sets "body" but when you call as_string, it doesn't look for "body" it looks for "body_raw" instead.

There are a number of things you can do. You can subclass Email::MIME and create a sub, body_set, that sets "body_raw" AND "body" so you're compatible with both. Or you can override as_string to print the one from body_raw instead. Instead of using "as_string" you can just print the headers then body yourself, using the headers and "body" joined by a newline.

From Email::MIME:

sub as_string { my $self = shift; return $self->__head->as_string . ($self->{mycrlf} || "\n") # XXX: replace with ->crlf . $self->body_raw; }
From Email::Simple:
sub as_string { my $self = shift; return $self->header_obj->as_string . $self->crlf . $self->body; }


Comment on Re: Email::Mime Confusion
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://799513]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2015-07-06 02:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (69 votes), past polls