Mail::...essage(3pm)
π Mail::Box::POP3::Message(3pm) β the whole vibe π
okay so bestie, sit down, hydrate, and let's talk about Mail::Box::POP3::Message β yes that's the full name, yes it's a 3pm perl manual page, and yes we're doing this together π«Ά
β¨ NAME β¨
Mail::Box::POP3::Message β it's one single message chillin' on a POP3 server. that's it. that's the whole job. π
𧬠INHERITANCE π§¬
this class got main character energy and a whole ancestry line, look at her:
Mail::Box::POP3::Message
is a Mail::Box::Net::Message
is a Mail::Box::Message
is a Mail::Message
is a Mail::Reporter
so like, everything those parents can do? she can do. she's literally descended from royalty. the lineage is giving old money π
β¨ SYNOPSIS β¨
here's how you actually get your hands on one, no cap:
my $folder = new Mail::Box::POP3 ...
my $message = $folder->message(10);
you make the folder, then you just... ask for message number 10. iconic. slay. π
πΈ DESCRIPTION πΈ
so a Mail::Box::POP3::Message is one message living on a POP3 server, and it's kept and cared for by a Mail::Box::POP3 folder. think of the folder as the group chat and the message as, like, one text in it. π
each message is stored as a separate entity on the server β so it's not all mashed together, she's her own independent girlie. and it maybe also lives temporarily inside your program while you're using it (so like, she can be in two places at once, lowkey). π¦
and that's not all β this page extends "DESCRIPTION" in Mail::Box::Net::Message, so if you wanna know more, the parent page has the rest of the lore. iykyk π₯
more parts incoming bestie, don't go anywhere π
β¨ METHODS β¨
Extends "METHODS" in Mail::Box::Net::Message.
π Constructors π
Extends "Constructors" in Mail::Box::Net::Message.
$obj->clone(%options)β inherited bestie, go read"Constructors"inMail::Messagefor the full tea π$class->new(%options)β also inherited, see"Constructors"inMail::Reporter
so new() takes a whole lil menu of options and here's the exact cheat sheet, no cap:
-Option --Defined in --Default
body Mail::Message undef
body_type Mail::Box::Message Mail::Message::Body::Lines
deleted Mail::Message false
field_type Mail::Message undef
folder Mail::Box::Message <required>
head Mail::Message undef
head_type Mail::Message Mail::Message::Head::Complete
labels Mail::Message +{}
messageId Mail::Message undef
message_id Mail::Message undef
modified Mail::Message false
size Mail::Box::Message undef
trusted Mail::Message false
unique Mail::Box::Net::Message <unique string>
and now what each one actually wants from u:
body=>$objectbody_type=>CODE|$classdeleted=>BOOLEANfield_type=>$classfolder=>$folderhead=>$objecthead_type=>$classlabels=>\@pairs|\%settingsmessageId=>$idmessage_id=>$idmodified=>BOOLEANsize=>$bytestrusted=>BOOLEANunique=>STRING
folder is required btw, it's not optional, it's giving main character energy. don't forget it π
π¦ Attributes π¦
Extends "Attributes" in Mail::Box::Net::Message.
$obj->bodyType()β inherited, see"Attributes"inMail::Message$obj->fieldType()β inherited, see"Attributes"inMail::Message$obj->folder( [$folder] )β inherited, see"Attributes"inMail::Box::Message$obj->headType()β inherited, see"Attributes"inMail::Message$obj->messageId()β inherited, see"Attributes"inMail::Message$obj->seqnr( [$integer] )β inherited, see"Attributes"inMail::Box::Message$obj->unique( [STRING|undef] )β inherited, see"Attributes"inMail::Box::Net::Message
πΈ Constructing a message πΈ
Extends "Constructing a message" in Mail::Box::Net::Message.
$obj->bounce( [<$rg_object|%options>] )β inherited, see"Constructing a message"inMail::Message::Construct::Bounce$class->build( [$message|$part|$body], @fields, %options )β inherited, see"Constructing a message"inMail::Message::Construct::Build$class->buildFromBody($body, [$head], $headers)β inherited, see"Constructing a message"inMail::Message::Construct::Build$obj->forward(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardAttach(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardEncapsulate(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardInline(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardNo(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardPostlude()β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardPrelude()β inherited, see"Constructing a message"inMail::Message::Construct::Forward$obj->forwardSubject(STRING)β inherited, see"Constructing a message"inMail::Message::Construct::Forward$class->read($fh|$text|\$text|\@lines, %options)β inherited, see"Constructing a message"inMail::Message::Construct::Read$obj->rebuild(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Rebuild$obj->reply(%options)β inherited, see"Constructing a message"inMail::Message::Construct::Reply$obj->replyPrelude( [STRING|$field|$address|\@addrs|\@fields] )β inherited, see"Constructing a message"inMail::Message::Construct::Reply$any->replySubject(STRING)β inherited, see"Constructing a message"inMail::Message::Construct::Reply
π The message π
Extends "The message" in Mail::Box::Net::Message.
$obj->container()β inherited, see"The message"inMail::Message$obj->copyTo($folder, %options)β inherited, see"The message"inMail::Box::Message$obj->endsOnNewline()β inherited, see"The message"inMail::Message$obj->isDummy()β inherited, see"The message"inMail::Message$obj->isPart()β inherited, see"The message"inMail::Message$obj->moveTo($folder, %options)β inherited, see"The message"inMail::Box::Message$obj->partNumber()β inherited, see"The message"inMail::Message$obj->print( [$fh] )β inherited, see"The message"inMail::Message$obj->send( [$mailer], %options )β inherited, see"The message"inMail::Message$obj->size()β hands u the size of this message, periodt. if the message is still chilling on the remote server, POP gets asked for the size. but if the message is already loaded onto the local system, the size of the parsed message is what u get. and yeah these two sizes can genuinely differ, because of the difference in line-ending representation π. Improves base, see"The message"inMail::Message$obj->toplevel()β inherited, see"The message"inMail::Message$obj->write( [$fh] )β inherited, see"The message"inMail::Message
π The header π
Extends "The header" in Mail::Box::Net::Message.
$obj->bcc()β inherited, see"The header"inMail::Message$obj->cc()β inherited, see"The header"inMail::Message$obj->date()β inherited, see"The header"inMail::Message$obj->destinations()β inherited, see"The header"inMail::Message$obj->from()β inherited, see"The header"inMail::Message$obj->get($fieldname)β inherited, see"The header"inMail::Message$obj->guessTimestamp()β inherited, see"The header"inMail::Message$obj->head( [$head] )β inherited, see"The header"inMail::Message$obj->nrLines()β inherited, see"The header"inMail::Message$obj->sender()β inherited, see"The header"inMail::Message$obj->study($fieldname)β inherited, see"The header"inMail::Message$obj->subject()β inherited, see"The header"inMail::Message$obj->timestamp()β inherited, see"The header"inMail::Message$obj->to()β inherited, see"The header"inMail::Message
π§ The body π§
Extends "The body" in Mail::Box::Net::Message.
$obj->body( [$body] )β inherited, see"The body"inMail::Message$obj->contentType()β inherited, see"The body"inMail::Message$obj->decoded(%options)β inherited, see"The body"inMail::Message$obj->encode(%options)β inherited, see"The body"inMail::Message$obj->isMultipart()β inherited, see"The body"inMail::Message$obj->isNested()β inherited, see"The body"inMail::Message$obj->parts( [<'ALL'|'ACTIVE'|'DELETED'|'RECURSE'|$filter>] )β inherited, see"The body"inMail::Message
π Flags π
Extends "Flags" in Mail::Box::Net::Message.
$obj->delete()β inherited, see"Flags"inMail::Message$obj->deleted( [BOOLEAN] )β inherited, see"Flags"inMail::Message$obj->isDeleted()β inherited, see"Flags"inMail::Message$obj->isModified()β inherited, see"Flags"inMail::Message$obj->label($label|PAIRS)β inherited, see"Flags"inMail::Message$obj->labels()β inherited, see"Flags"inMail::Message$obj->labelsToStatus()β inherited, see"Flags"inMail::Message$obj->modified( [BOOLEAN] )β inherited, see"Flags"inMail::Message$obj->statusToLabels()β inherited, see"Flags"inMail::Message
π The whole message as text π
Extends "The whole message as text" in Mail::Box::Net::Message.
$obj->file()β inherited, see"The whole message as text"inMail::Message::Construct::Text$obj->lines()β inherited, see"The whole message as text"inMail::Message::Construct::Text$obj->printStructure( [$fh|undef],[$indent] )β inherited, see"The whole message as text"inMail::Message::Construct::Text$obj->string()β inherited, see"The whole message as text"inMail::Message::Construct::Text
π§ Internals π§
Extends "Internals" in Mail::Box::Net::Message.
$obj->clonedFrom()β inherited, see"Internals"inMail::Message$class->coerce($message, %options)β inherited, see"Internals"inMail::Message$obj->diskDelete()β inherited, see"Internals"inMail::Box::Message$obj->isDelayed()β inherited, see"Internals"inMail::Message$obj->isTrusted()β inherited, see"Internals"inMail::Message$obj->loadBody()β inherited, see"Internals"inMail::Box::Net::Message$obj->readBody( $parser, $head, [$bodytype] )β inherited, see"Internals"inMail::Box::Message$obj->readFromParser( $parser, [$bodytype] )β inherited, see"Internals"inMail::Message$obj->readHead( $parser, [$class] )β inherited, see"Internals"inMail::Message$obj->recursiveRebuildPart($part, %options)β inherited, see"Internals"inMail::Message::Construct::Rebuild$obj->storeBody($body)β inherited, see"Internals"inMail::Message$obj->takeMessageId( [STRING] )β inherited, see"Internals"inMail::Message
π Error handling π
Extends "Error handling" in Mail::Box::Net::Message.
$obj->AUTOLOAD()β inherited, see"METHODS"inMail::Message::Construct$obj->notImplemented()β inherited, see"Error handling"inMail::Reporter$any->shortSize( [$value] )β inherited, see"Error handling"inMail::Message$obj->shortString()β inherited, see"Error handling"inMail::Message
π Cleanup π
Extends "Cleanup" in Mail::Box::Net::Message.
$obj->DESTROY()β inherited, see"Cleanup"inMail::Reporter$obj->destruct()β inherited, see"Cleanup"inMail::Box::Message
π DETAILS π
Extends "DETAILS" in Mail::Box::Net::Message.
π DIAGNOSTICS π
okay bestie, this is the part where the module is basically yelling at you. every one of these is a real error/warning it can throw, and each one tells you which method "cast" it (that's just fancy talk for "this is the method that threw it"). let's go, one by one π
Error: Cannot include forward source as $kind.bestie theforward(include)option got a value it does not recognize π. the only valid choices are"NO","INLINE","ATTACH", and"ENCAPSULATE". thrown byforward().Error: No default mailer found to send message.thesend()mechanism literally did not have enough info to auto-find a mail transfer agent to send your message π« . so specify a mailer explicitly with theviaoptions, mkay? thrown bysend().Error: cannot coerce a $type object into a $me object.it tried to turn one kind of object into another and it simply did not work. thrown bycoerce().Error: cannot include reply source as $kind.unknown value passed to the"include"option ofreply(). the valid choices are"NO","INLINE", and"ATTACH"β that's it, that's the list β¨. thrown byreply().Error: cannot read message from a $source.it could not read the message from that source, periodt. thrown byread().Error: class $package does not implement method $method.okay this one is fatal, pay attention π³ β the specific$package(or one of its superclasses) just does not implement this method where it's supposed to. it means some other related classes do implement this method, but the class you're holding does not. so you should probably dig into this and probably tell the author of the package about it. thrown bynotImplemented().Error: coercion starts with some object, not '$type'.the coercion started with something that wasn't what you said it was. thrown bycoerce().Error: method bounce requires To, Cc, or Bcc.thebounce()method forwards a received message off to someone else with no modification, so you absolutely must specify its new destination π―. if you feel the urge not to specify any destination, you're probably looking forreply()instead. and if you wanna modify the content, useforward(). thrown bybounce().Error: method forwardAttach requires a preamble.no preamble, noforwardAttach(). thrown byforwardAttach().Error: method forwardEncapsulate requires a preamble.same energy β it needs a preamble. thrown byforwardEncapsulate().Error: method forwardNo requires a To.forwardNo()wants aTo. give it one π. thrown byforwardNo().Error: method forwardNo requires a body.and also a body. thrown byforwardNo().Error: no rebuild rule $name defined.there's no rebuild rule by that name, so like... nothing to rebuild with π€·. thrown byrebuild().Error: only build() Mail::Message's; they are not in a folder yet.okay this one needs a lil story time π β you might wanna construct a message to be stored in some kind of folder, but bestie you gotta do that in two steps. first, create a normalMail::Message, and then add it to the folder. during thisMail::Box::addMessage()process, the message will getcoerce()-d into the right message type, adding storage information and the like. thrown bybuild().Error: please install Email::Simple.go install it bestie. thrown bycoerce().Error: please install MIME::Entity.also install this one. thrown bycoerce().Error: please install Mail::Internet.and this one. thrown bycoerce().Error: select parts via '$what'?the part selection was not it. thrown byparts().Warning: skipped unknown key '$key' in build.just a warning, not fatal β but it skipped an unknown key during build π. thrown bybuild().Error: unable to read delayed body for $msgid.couldn't read the delayed body for that message id. thrown byloadBody().Error: unable to read delayed head for $msgid.couldn't read the delayed head either. thrown byloadBody().
π SEE ALSO π
this module is part of Mail-Box-POP3 version 4.02, built on April 10, 2026. if you wanna go touch grass on the internet about it, the website is http://perl.overmeer.net/CPAN/ π
π LICENSE π
for contributors, see file ChangeLog.
this software is copyright (c) 2001-2026 by Mark Overmeer.
it's free software π«Ά β you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
and that's the whole page, bestie!! you made it to the end and honestly? iconic behavior ππ this was Mail::...essage(3pm), dropped from perl v5.40.1 on 2026-05-09 β go forth and slay your mail objects, no cap β¨π¦
π¦ where this page comes from
- ubuntu stonking: libmail-box-pop3-perl 4.02-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms