class mailbox.MaildirMessage(message=None)
A message with Maildir-specific behaviors. Parameter message has the same meaning as with the Message
constructor.
Typically, a mail user agent application moves all of the messages in the new
subdirectory to the cur
subdirectory after the first time the user opens and closes the mailbox, recording that the messages are old whether or not they’ve actually been read. Each message in cur
has an “info” section added to its file name to store information about its state. (Some mail readers may also add an “info” section to messages in new
.) The “info” section may take one of two forms: it may contain “2,” followed by a list of standardized flags (e.g., “2,FR”) or it may contain “1,” followed by so-called experimental information. Standard flags for Maildir messages are as follows:
Flag | Meaning | Explanation |
---|---|---|
D | Draft | Under composition |
F | Flagged | Marked as important |
P | Passed | Forwarded, resent, or bounced |
R | Replied | Replied to |
S | Seen | Read |
T | Trashed | Marked for subsequent deletion |
MaildirMessage
instances offer the following methods:
-
get_subdir()
-
Return either “new” (if the message should be stored in the
new
subdirectory) or “cur” (if the message should be stored in thecur
subdirectory).Note
A message is typically moved from
new
tocur
after its mailbox has been accessed, whether or not the message is has been read. A messagemsg
has been read if"S" in msg.get_flags()
isTrue
.
-
set_subdir(subdir)
-
Set the subdirectory the message should be stored in. Parameter subdir must be either “new” or “cur”.
-
get_flags()
-
Return a string specifying the flags that are currently set. If the message complies with the standard Maildir format, the result is the concatenation in alphabetical order of zero or one occurrence of each of
'D'
,'F'
,'P'
,'R'
,'S'
, and'T'
. The empty string is returned if no flags are set or if “info” contains experimental semantics.
-
set_flags(flags)
-
Set the flags specified by flags and unset all others.
-
add_flag(flag)
-
Set the flag(s) specified by flag without changing other flags. To add more than one flag at a time, flag may be a string of more than one character. The current “info” is overwritten whether or not it contains experimental information rather than flags.
-
remove_flag(flag)
-
Unset the flag(s) specified by flag without changing other flags. To remove more than one flag at a time, flag maybe a string of more than one character. If “info” contains experimental information rather than flags, the current “info” is not modified.
-
get_date()
-
Return the delivery date of the message as a floating-point number representing seconds since the epoch.
-
set_date(date)
-
Set the delivery date of the message to date, a floating-point number representing seconds since the epoch.
-
get_info()
-
Return a string containing the “info” for a message. This is useful for accessing and modifying “info” that is experimental (i.e., not a list of flags).
-
set_info(info)
-
Set “info” to info, which should be a string.
Please login to continue.