1Mail::Box::Maildir::MesUssaegre(C3o)ntributed Perl DocumMeanitla:t:iBoonx::Maildir::Message(3)
2
3
4
6 Mail::Box::Maildir::Message - one message in a Maildir folder
7
9 Mail::Box::Maildir::Message
10 is a Mail::Box::Dir::Message
11 is a Mail::Box::Message
12 is a Mail::Message
13 is a Mail::Reporter
14
16 my $folder = new Mail::Box::Maildir ...
17 my $message = $folder->message(10);
18
20 A "Mail::Box::Maildir::Message" represents one message in an
21 Mail::Box::Maildir folder. Each message is stored in a separate file.
22
23 Extends "DESCRIPTION" in Mail::Box::Dir::Message.
24
26 Extends "METHODS" in Mail::Box::Dir::Message.
27
28 Constructors
29 Extends "Constructors" in Mail::Box::Dir::Message.
30
31 $obj->clone(%options)
32 Inherited, see "Constructors" in Mail::Message
33
34 Mail::Box::Maildir::Message->new(%options)
35 Inherited, see "METHODS" in Mail::Box::Dir::Message
36
37 Constructing a message
38 Extends "Constructing a message" in Mail::Box::Dir::Message.
39
40 $obj->bounce( [<$rg_object|%options>] )
41 Inherited, see "Constructing a message" in
42 Mail::Message::Construct::Bounce
43
44 Mail::Box::Maildir::Message->build( [$message|$part|$body], $content )
45 Inherited, see "Constructing a message" in
46 Mail::Message::Construct::Build
47
48 Mail::Box::Maildir::Message->buildFromBody($body, [$head], $headers)
49 Inherited, see "Constructing a message" in
50 Mail::Message::Construct::Build
51
52 $obj->forward(%options)
53 Inherited, see "Constructing a message" in
54 Mail::Message::Construct::Forward
55
56 $obj->forwardAttach(%options)
57 Inherited, see "Constructing a message" in
58 Mail::Message::Construct::Forward
59
60 $obj->forwardEncapsulate(%options)
61 Inherited, see "Constructing a message" in
62 Mail::Message::Construct::Forward
63
64 $obj->forwardInline(%options)
65 Inherited, see "Constructing a message" in
66 Mail::Message::Construct::Forward
67
68 $obj->forwardNo(%options)
69 Inherited, see "Constructing a message" in
70 Mail::Message::Construct::Forward
71
72 $obj->forwardPostlude()
73 Inherited, see "Constructing a message" in
74 Mail::Message::Construct::Forward
75
76 $obj->forwardPrelude()
77 Inherited, see "Constructing a message" in
78 Mail::Message::Construct::Forward
79
80 $obj->forwardSubject(STRING)
81 Inherited, see "Constructing a message" in
82 Mail::Message::Construct::Forward
83
84 Mail::Box::Maildir::Message->read($fh|STRING|SCALAR|ARRAY, %options)
85 Inherited, see "Constructing a message" in
86 Mail::Message::Construct::Read
87
88 $obj->rebuild(%options)
89 Inherited, see "Constructing a message" in
90 Mail::Message::Construct::Rebuild
91
92 $obj->reply(%options)
93 Inherited, see "Constructing a message" in
94 Mail::Message::Construct::Reply
95
96 $obj->replyPrelude( [STRING|$field|$address|ARRAY-$of-$things] )
97 Inherited, see "Constructing a message" in
98 Mail::Message::Construct::Reply
99
100 $obj->replySubject(STRING)
101 Mail::Box::Maildir::Message->replySubject(STRING)
102 Inherited, see "Constructing a message" in
103 Mail::Message::Construct::Reply
104
105 The message
106 Extends "The message" in Mail::Box::Dir::Message.
107
108 $obj->container()
109 Inherited, see "The message" in Mail::Message
110
111 $obj->copyTo($folder, %options)
112 Inherited, see "The message" in Mail::Box::Message
113
114 $obj->filename( [$filename] )
115 Returns the current filename for this message. If the $filename
116 argument is specified, a new filename will be set. For maildir
117 messages this means that modifications are immediately performed:
118 there will be a rename (move) from the old name to the new name.
119 Labels may change within in the message object as well.
120
121 $obj->folder( [$folder] )
122 Inherited, see "The message" in Mail::Box::Message
123
124 $obj->isDummy()
125 Inherited, see "The message" in Mail::Message
126
127 $obj->isPart()
128 Inherited, see "The message" in Mail::Message
129
130 $obj->messageId()
131 Inherited, see "The message" in Mail::Message
132
133 $obj->moveTo($folder, %options)
134 Inherited, see "The message" in Mail::Box::Message
135
136 $obj->partNumber()
137 Inherited, see "The message" in Mail::Message
138
139 $obj->print( [$fh] )
140 Inherited, see "The message" in Mail::Message
141
142 $obj->send( [$mailer], %options )
143 Inherited, see "The message" in Mail::Message
144
145 $obj->seqnr( [$integer] )
146 Inherited, see "The message" in Mail::Box::Message
147
148 $obj->size()
149 Inherited, see "The message" in Mail::Message
150
151 $obj->toplevel()
152 Inherited, see "The message" in Mail::Message
153
154 $obj->write( [$fh] )
155 Inherited, see "The message" in Mail::Message
156
157 The header
158 Extends "The header" in Mail::Box::Dir::Message.
159
160 $obj->bcc()
161 Inherited, see "The header" in Mail::Message
162
163 $obj->cc()
164 Inherited, see "The header" in Mail::Message
165
166 $obj->date()
167 Inherited, see "The header" in Mail::Message
168
169 $obj->destinations()
170 Inherited, see "The header" in Mail::Message
171
172 $obj->from()
173 Inherited, see "The header" in Mail::Message
174
175 $obj->get($fieldname)
176 Inherited, see "The header" in Mail::Message
177
178 $obj->guessTimestamp()
179 The filename of a "Mail::Box::Maildir::Message" contains a
180 timestamp. This is a wild guess about the actual time of sending
181 of the message: it is the time of receipt which may be seconds to
182 hours off. But is still a good guess... When the message header
183 is not parsed, then this date is used.
184
185 $obj->head( [$head] )
186 Inherited, see "The header" in Mail::Message
187
188 $obj->nrLines()
189 Inherited, see "The header" in Mail::Message
190
191 $obj->sender()
192 Inherited, see "The header" in Mail::Message
193
194 $obj->study($fieldname)
195 Inherited, see "The header" in Mail::Message
196
197 $obj->subject()
198 Inherited, see "The header" in Mail::Message
199
200 $obj->timestamp()
201 Inherited, see "The header" in Mail::Message
202
203 $obj->to()
204 Inherited, see "The header" in Mail::Message
205
206 The body
207 Extends "The body" in Mail::Box::Dir::Message.
208
209 $obj->body( [$body] )
210 Inherited, see "The body" in Mail::Message
211
212 $obj->contentType()
213 Inherited, see "The body" in Mail::Message
214
215 $obj->decoded(%options)
216 Inherited, see "The body" in Mail::Message
217
218 $obj->encode(%options)
219 Inherited, see "The body" in Mail::Message
220
221 $obj->isMultipart()
222 Inherited, see "The body" in Mail::Message
223
224 $obj->isNested()
225 Inherited, see "The body" in Mail::Message
226
227 $obj->parts( [<'ALL'|'ACTIVE'|'DELETED'|'RECURSE'|$filter>] )
228 Inherited, see "The body" in Mail::Message
229
230 Flags
231 Extends "Flags" in Mail::Box::Dir::Message.
232
233 $obj->delete()
234 Inherited, see "Flags" in Mail::Message
235
236 $obj->deleted( [BOOLEAN] )
237 Inherited, see "Flags" in Mail::Message
238
239 $obj->isDeleted()
240 Inherited, see "Flags" in Mail::Message
241
242 $obj->isModified()
243 Inherited, see "Flags" in Mail::Message
244
245 $obj->label($label|PAIRS)
246 Inherited, see "Flags" in Mail::Message
247
248 $obj->labels()
249 Inherited, see "Flags" in Mail::Message
250
251 $obj->labelsToStatus()
252 Inherited, see "Flags" in Mail::Message
253
254 $obj->modified( [BOOLEAN] )
255 Inherited, see "Flags" in Mail::Message
256
257 $obj->statusToLabels()
258 Inherited, see "Flags" in Mail::Message
259
260 The whole message as text
261 Extends "The whole message as text" in Mail::Box::Dir::Message.
262
263 $obj->file()
264 Inherited, see "The whole message as text" in
265 Mail::Message::Construct::Text
266
267 $obj->lines()
268 Inherited, see "The whole message as text" in
269 Mail::Message::Construct::Text
270
271 $obj->printStructure( [$fh|undef],[$indent] )
272 Inherited, see "The whole message as text" in
273 Mail::Message::Construct::Text
274
275 $obj->string()
276 Inherited, see "The whole message as text" in
277 Mail::Message::Construct::Text
278
279 Labels
280 $obj->labelsToFilename()
281 When the labels on a message change, this may implicate a change in
282 the message's filename. The change will take place immediately.
283 The new filename (which may be the same as the old filename) is
284 returned. "undef" is returned when the rename is required but
285 fails.
286
287 Internals
288 Extends "Internals" in Mail::Box::Dir::Message.
289
290 $obj->accept( [BOOLEAN] )
291 Accept a message for the folder. This will move it from the "new"
292 or "tmp" sub-directories into the "cur" sub-directory (or back when
293 the BOOLEAN is "false"). When you accept an already accepted
294 message, nothing will happen.
295
296 $obj->clonedFrom()
297 Inherited, see "Internals" in Mail::Message
298
299 Mail::Box::Maildir::Message->coerce($message, %options)
300 Inherited, see "Internals" in Mail::Message
301
302 $obj->create($filename)
303 Inherited, see "Internals" in Mail::Box::Dir::Message
304
305 $obj->diskDelete()
306 Inherited, see "Internals" in Mail::Box::Message
307
308 $obj->isDelayed()
309 Inherited, see "Internals" in Mail::Message
310
311 $obj->loadBody()
312 Inherited, see "Internals" in Mail::Box::Dir::Message
313
314 $obj->loadHead()
315 Inherited, see "Internals" in Mail::Box::Dir::Message
316
317 $obj->parser()
318 Inherited, see "Internals" in Mail::Box::Dir::Message
319
320 $obj->readBody( $parser, $head, [$bodytype] )
321 Inherited, see "Internals" in Mail::Box::Message
322
323 $obj->readFromParser( $parser, [$bodytype] )
324 Inherited, see "Internals" in Mail::Message
325
326 $obj->readHead( $parser, [$class] )
327 Inherited, see "Internals" in Mail::Message
328
329 $obj->recursiveRebuildPart($part, %options)
330 Inherited, see "Internals" in Mail::Message::Construct::Rebuild
331
332 $obj->storeBody($body)
333 Inherited, see "Internals" in Mail::Message
334
335 $obj->takeMessageId( [STRING] )
336 Inherited, see "Internals" in Mail::Message
337
338 Error handling
339 Extends "Error handling" in Mail::Box::Dir::Message.
340
341 $obj->AUTOLOAD()
342 Inherited, see "METHODS" in Mail::Message::Construct
343
344 $obj->addReport($object)
345 Inherited, see "Error handling" in Mail::Reporter
346
347 $obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level,
348 $callback] )
349 Mail::Box::Maildir::Message->defaultTrace( [$level]|[$loglevel,
350 $tracelevel]|[$level, $callback] )
351 Inherited, see "Error handling" in Mail::Reporter
352
353 $obj->errors()
354 Inherited, see "Error handling" in Mail::Reporter
355
356 $obj->log( [$level, [$strings]] )
357 Mail::Box::Maildir::Message->log( [$level, [$strings]] )
358 Inherited, see "Error handling" in Mail::Reporter
359
360 $obj->logPriority($level)
361 Mail::Box::Maildir::Message->logPriority($level)
362 Inherited, see "Error handling" in Mail::Reporter
363
364 $obj->logSettings()
365 Inherited, see "Error handling" in Mail::Reporter
366
367 $obj->notImplemented()
368 Inherited, see "Error handling" in Mail::Reporter
369
370 $obj->report( [$level] )
371 Inherited, see "Error handling" in Mail::Reporter
372
373 $obj->reportAll( [$level] )
374 Inherited, see "Error handling" in Mail::Reporter
375
376 $obj->shortSize( [$value] )
377 Mail::Box::Maildir::Message->shortSize( [$value] )
378 Inherited, see "Error handling" in Mail::Message
379
380 $obj->shortString()
381 Inherited, see "Error handling" in Mail::Message
382
383 $obj->trace( [$level] )
384 Inherited, see "Error handling" in Mail::Reporter
385
386 $obj->warnings()
387 Inherited, see "Error handling" in Mail::Reporter
388
389 Cleanup
390 Extends "Cleanup" in Mail::Box::Dir::Message.
391
392 $obj->DESTROY()
393 Inherited, see "Cleanup" in Mail::Reporter
394
395 $obj->destruct()
396 Inherited, see "Cleanup" in Mail::Box::Message
397
399 Extends "DETAILS" in Mail::Box::Dir::Message.
400
401 Structure of a Message
402 Extends "Structure of a Message" in Mail::Box::Dir::Message.
403
404 Message object implementation
405 Extends "Message object implementation" in Mail::Box::Dir::Message.
406
407 Message class implementation
408 Extends "Message class implementation" in Mail::Box::Dir::Message.
409
410 Labels
411 Extends "Labels" in Mail::Box::Dir::Message.
412
413 Predefined labels
414
415 Extends "Predefined labels" in Mail::Box::Dir::Message.
416
417 Status and X-Status fields
418
419 Extends "Status and X-Status fields" in Mail::Box::Dir::Message.
420
421 Flags in filename
422
423 When new messages arrive on system and have to be stored in a maildir
424 folder, they are put in the "new" sub-directory of the folder (first
425 created in the "tmp" sub-directory and then immediately moved to
426 "new"). The following information was found at
427 <http://cr.yp.to/proto/maildir.html>.
428
429 Each message is written in a separate file. The filename is
430 constructed from the time-of-arrival, a hostname, an unique component,
431 a syntax marker, and flags. For example "1014220791.meteor.42:2,DF".
432 The filename must match:
433
434 my ($time, $unique, $hostname, $info)
435 = $filename =~ m!^(\d+)\.(.*)\.(\w+)(\:.*)?$!;
436 my ($semantics, $flags)
437 = $info =~ m!([12])\,([DFPRST]*)$!;
438 my @flags = split //, $flags;
439
440 When an application opens the folder, there may be messages in "new"
441 which are new arival, and messages in "cur". The latter are labeled
442 "accepted". To move a message from "new" to "cur", you have two
443 options with the same effect:
444
445 $msg->accept;
446 $msg->label(accept => 1);
447
448 See accept(), label(), Mail::Box::Maildir::new(accept_new), and
449 Mail::Box::Maildir::acceptMessages()
450
451 The messages are moved, and their name is immediately extended with
452 flags. An example:
453
454 new/897979431.meteor.42 may become
455 cur/897979431.meteor.42:2,FS
456
457 The added characters ':2,' refer to the "second state of processing",
458 where the message has been inspected. And the characters (which should
459 be in alphabetic order) mean
460
461 D => draft
462 F => flagged
463 R => replied (answered)
464 S => seen
465 T => deleted (tagged for deletion)
466
467 Some maildir clients support
468 P => passed (resent/forwarded/bounced to someone else)
469
470 The flags will immediately change when label() or delete() is used,
471 which differs from other message implementations: maildir is stateless,
472 and should not break when applications crash.
473
475 Error: Cannot coerce a $class object into a $class object
476 Error: Cannot create parser for $filename.
477 For some reason (the previous message have told you already) it was
478 not possible to create a message parser for the specified filename.
479
480 Error: Cannot include forward source as $include.
481 Unknown alternative for the forward(include). Valid choices are
482 "NO", "INLINE", "ATTACH", and "ENCAPSULATE".
483
484 Error: Cannot include reply source as $include.
485 Unknown alternative for the "include" option of reply(). Valid
486 choices are "NO", "INLINE", and "ATTACH".
487
488 Error: Cannot write message to $filename: $!
489 When a modified or new message is written to disk, it is first
490 written to a temporary file in the folder directory. For some
491 reason, it is impossible to create this file.
492
493 Error: Failed to move $new to $filename: $!
494 When a modified or new message is written to disk, it is first
495 written to a temporary file in the folder directory. Then, the new
496 file is moved to replace the existing file. Apparently, the latter
497 fails.
498
499 Error: Method bounce requires To, Cc, or Bcc
500 The message bounce() method forwards a received message off to
501 someone else without modification; you must specified it's new
502 destination. If you have the urge not to specify any destination,
503 you probably are looking for reply(). When you wish to modify the
504 content, use forward().
505
506 Error: Method forwardAttach requires a preamble
507 Error: Method forwardEncapsulate requires a preamble
508 Error: No address to create forwarded to.
509 If a forward message is created, a destination address must be
510 specified.
511
512 Error: No default mailer found to send message.
513 The message send() mechanism had not enough information to
514 automatically find a mail transfer agent to sent this message.
515 Specify a mailer explicitly using the "via" options.
516
517 Error: No rebuild rule $name defined.
518 Error: Only build() Mail::Message's; they are not in a folder yet
519 You may wish to construct a message to be stored in a some kind of
520 folder, but you need to do that in two steps. First, create a
521 normal Mail::Message, and then add it to the folder. During this
522 Mail::Box::addMessage() process, the message will get coerce()-d
523 into the right message type, adding storage information and the
524 like.
525
526 Error: Package $package does not implement $method.
527 Fatal error: the specific package (or one of its superclasses) does
528 not implement this method where it should. This message means that
529 some other related classes do implement this method however the
530 class at hand does not. Probably you should investigate this and
531 probably inform the author of the package.
532
533 Error: Unable to read delayed body.
534 For some reason, the header of the message could be read, but the
535 body cannot. Probably the file has disappeared or the permissions
536 were changed during the progress of the program.
537
538 Error: Unable to read delayed head.
539 Mail::Box tries to be lazy with respect to parsing messages. When
540 a directory organized folder is opened, only the filenames of
541 messages are collected. At first use, the messages are read from
542 their file. Apperently, a message is used for the first time here,
543 but has disappeared or is unreadible for some other reason.
544
545 Error: coercion starts with some object
546
548 This module is part of Mail-Box distribution version 3.009, built on
549 August 18, 2020. Website: http://perl.overmeer.net/CPAN/
550
552 Copyrights 2001-2020 by [Mark Overmeer]. For other contributors see
553 ChangeLog.
554
555 This program is free software; you can redistribute it and/or modify it
556 under the same terms as Perl itself. See http://dev.perl.org/licenses/
557
558
559
560perl v5.36.0 2023-01-20 Mail::Box::Maildir::Message(3)