mailbox --- æ§ã
ãªåœ¢åŒã®ã¡ãŒã«ããã¯ã¹ãæäœãã¶
ãœãŒã¹ã³ãŒã: Lib/mailbox.py
ãã®ã¢ãžã¥ãŒã«ã§ã¯äºã€ã®ã¯ã©ã¹ Mailbox ããã³ Message ããã£ã¹ã¯äžã®ã¡ãŒã«ããã¯ã¹ãšããã«åããããã¡ãã»ãŒãžãžã®ã¢ã¯ã»ã¹ãšæäœã®ããã«å®çŸ©ããŠããŸãã Mailbox ã¯èŸæžã®ãããªããŒããã¡ãã»ãŒãžãžã®å¯Ÿå¿ä»ããæäŸããŠããŸãã Message 㯠email.message ã¢ãžã¥ãŒã«ã® Message ãæ¡åŒµããŠåœ¢åŒããšã®ç¶æ
ãšæ¯ãèãã远å ããŠããŸãããµããŒããããã¡ãŒã«ããã¯ã¹ã®åœ¢åŒã¯ Maildir, mbox, MH, Babyl, MMDF ã§ãã
åè
emailã¢ãžã¥ãŒã«ã¡ãã»ãŒãžã®è¡šçŸãšæäœã
Mailbox ãªããžã§ã¯ã¶
- class mailbox.Mailbox¶
ã¡ãŒã«ããã¯ã¹ãå 容ã確èªããã倿Žãããã§ããŸãã
Mailboxã¯ã©ã¹ã¯ã€ã³ã¿ãŒãã§ãŒã¹ãå®çŸ©ãããã®ã§ãã€ã³ã¹ã¿ã³ã¹åãããããšã¯æ³å®ããŠããŸããã代ããã«ãMailboxããç¶æ¿ãã圢åŒããšã®ãµãã¯ã©ã¹ãäœããã³ãŒãã§ã¯ç¹å®ã®ãµãã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹åããã¹ãã§ããMailboxã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯èŸæžé¢šã§ãå°ããªããŒãã¡ãã»ãŒãžã«å¯Ÿå¿ããŸããããŒã¯å¯Ÿè±¡ãšãªãMailboxã€ã³ã¹ã¿ã³ã¹ãçºè¡ãããã®ã§ããã®Mailboxã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã®ã¿æå³ãæã¡ãŸããäžã€ã®ããŒã¯äžã€ã®ã¡ãã»ãŒãžã«ã²ãä»ãããããã®å¯Ÿå¿ã¯ã¡ãã»ãŒãžãä»ã®ã¡ãã»ãŒãžã§çœ®ãæãããããããªæŽæ°ããããããšãç¶ããŸããã¡ãã»ãŒãžã
Mailboxã€ã³ã¹ã¿ã³ã¹ã«è¿œå ããã«ã¯éå颚ã®ã¡ãœããadd()ã䜿ããŸãããŸãåé€ã¯delæãŸãã¯éå颚ã®remove()ãdiscard()ã䜿ã£ãŠè¡ãªããŸããMailboxã€ã³ã¿ãŒãã§ãŒã¹ã®ã»ãã³ãã£ã¯ã¹ãšèŸæžã®ãããšã¯æ³šæãã¹ãéãããããŸããã¡ãã»ãŒãžã¯ãèŠæ±ããããã³ã«æ°ãã衚çŸ(å žåçã«ã¯Messageã€ã³ã¹ã¿ã³ã¹)ãçŸåšã®ã¡ãŒã«ããã¯ã¹ã®ç¶æ ã«åºã¥ããŠçæãããŸããåæ§ã«ãã¡ãã»ãŒãžãMailboxã€ã³ã¹ã¿ã³ã¹ã«è¿œå ãããæããæž¡ãããã¡ãã»ãŒãžè¡šçŸã®å 容ãã³ããŒãããŸããã©ã¡ãã®å ŽåãMailboxã€ã³ã¹ã¿ã³ã¹ã«ã¡ãã»ãŒãžè¡šçŸãžã®åç §ã¯ä¿ãããŸãããããã©ã«ãã®
Mailboxã€ãã¬ãŒã¿ ã¯ã¡ãã»ãŒãžè¡šçŸããšã«ç¹°ãè¿ããã®ã§ãèŸæžã®ã€ãã¬ãŒã¿ã®ããã«ããŒããšã®ç¹°ãè¿ãã§ã¯ãããŸãããããã«ãç¹°ãè¿ãäžã®ã¡ãŒã«ããã¯ã¹ã倿Žããããšã¯å®å šã§ããæŽåçã«å®çŸ©ãããŠããŸããã€ãã¬ãŒã¿ãäœãããåŸã«ã¡ãŒã«ããã¯ã¹ã«è¿œå ãããã¡ãã»ãŒãžã¯ãã®ã€ãã¬ãŒã¿ããã¯èŠããŸããããã®ã€ãã¬ãŒã¿ã yield ãããŸãã«ã¡ãŒã«ããã¯ã¹ããåé€ãããã¡ãã»ãŒãžã¯é»ã£ãŠã¹ããããããŸãããã€ãã¬ãŒã¿ããã®ããŒã䜿ã£ããšãã«ã¯ãã®ããŒã«å¯Ÿå¿ããã¡ãã»ãŒãžãåé€ãããŠãããªãã°KeyErrorãåãåãããšã«ãªããŸããèŠå
ååãªæ³šæããäœãä»ã®ããã»ã¹ã«ãã£ãŠãåæã«å€æŽãããå¯èœæ§ã®ããã¡ãŒã«ããã¯ã¹ãæŽæ°ããæã¯ãæããªããã°ãªããŸããããã®ãããªã¿ã¹ã¯ãããªãã®ã«æãå®å šãªã¡ãŒã«ããã¯ã¹åœ¢åŒã¯
Maildirã§ãmboxã®ãããªåäžãã¡ã€ã«ã®åœ¢åŒã䞊è¡ããæžã蟌ã¿ã«å©çšããã®ã¯é¿ããããã«åªåããŸããããã¡ãŒã«ããã¯ã¹ãæŽæ°ããå Žé¢ã§ã¯ã å¿ ãlock()ãšunlock()ã¡ãœãããããã¡ã€ã«å ã®ã¡ãã»ãŒãžãèªãã ãæžã蟌ãã ãåé€ããããšãã£ãæäœããã å ã«ãåŒã³åºããŠããã¯ããŸããã¡ãŒã«ããã¯ã¹ãããã¯ãæãªããšãã¡ãã»ãŒãžã倱ã£ããã¡ãŒã«ããã¯ã¹å šäœããã¡ããã¡ãã«ããããã矜ç®ã«é¥ããŸããMailboxã€ã³ã¹ã¿ã³ã¹ã«ã¯æ¬¡ã®ã¡ãœããããããŸã:- add(message)¶
ã¡ãŒã«ããã¯ã¹ã« message ã远å ããããã«å²ãåœãŠãããããŒãè¿ããŸãã
åŒæ° message ã¯
Messageã€ã³ã¹ã¿ã³ã¹ãemail.message.Messageã€ã³ã¹ã¿ã³ã¹ãæååããã€ãæååããã¡ã€ã«é¢šãªããžã§ã¯ã (ãã€ããªã¢ãŒãã§éãããŠããªããã°ãªããŸãã) ã䜿ããŸãã message ãé©åãªåœ¢åŒã«ç¹åããMessageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ (äŸãã°ã¡ãŒã«ããã¯ã¹ãmboxã€ã³ã¹ã¿ã³ã¹ã®ãšãã®mboxMessageã€ã³ã¹ã¿ã³ã¹) ã§ããã°ã圢åŒããšã®æ å ±ãå©çšãããŸããããã§ãªããã°ã圢åŒããšã«å¿ èŠãªæ å ±ã¯é©åœãªããã©ã«ãã䜿ãããŸããããŒãžã§ã³ 3.2 ã§å€æŽ: ãã€ããªå ¥åã®ãµããŒãã远å ãããŸããã
- remove(key)¶
- __delitem__(key)¶
- discard(key)¶
ã¡ãŒã«ããã¯ã¹ãã key ã«å¯Ÿå¿ããã¡ãã»ãŒãžãåé€ããŸãã
察å¿ããã¡ãã»ãŒãžãç¡ãå Žåãã¡ãœããã
remove()ãŸãã¯__delitem__()ãšããŠåŒã³åºãããŠããæã¯KeyErroräŸå€ãéåºãããŸããããããdiscard()ãšããŠåŒã³åºãããŠããå Žåã¯äŸå€ã¯çºçããŸãããåºã¥ããŠããã¡ãŒã«ããã¯ã¹åœ¢åŒãå¥ã®ããã»ã¹ããã®å¹³è¡ãã倿ŽããµããŒãããŠãããªãã°ããã®discard()ã®æ¯ãèãã®æ¹ã奜ãŸãããããããŸããã
- __setitem__(key, message)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã message ã§çœ®ãæããŸãã key ã«å¯Ÿå¿ããŠããã¡ãã»ãŒãžãæ¢ã«ç¡ããªã£ãŠããå Žå
KeyErroräŸå€ãéåºãããŸããadd()ãšåæ§ã«ãåŒæ°ã® message ã«ã¯Messageã€ã³ã¹ã¿ã³ã¹ãemail.message.Messageã€ã³ã¹ã¿ã³ã¹ãæååããã€ãæååããã¡ã€ã«é¢šãªããžã§ã¯ã (ãã€ããªã¢ãŒãã§éãããŠããªããã°ãªããŸãã) ã䜿ããŸãã message ãé©åãªåœ¢åŒã«ç¹åããMessageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ (äŸãã°ã¡ãŒã«ããã¯ã¹ãmboxã€ã³ã¹ã¿ã³ã¹ã®ãšãã®mboxMessageã€ã³ã¹ã¿ã³ã¹) ã§ããã°ã圢åŒããšã®æ å ±ãå©çšãããŸããããã§ãªããã°ãçŸåš key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®åœ¢åŒããšã®æ å ±ã倿Žãããã«æ®ããŸãã
- keys()¶
The same as
iterkeys(), except that alistis returned rather than an iterator
- itervalues()¶
- __iter__()¶
å šãŠã®ã¡ãã»ãŒãžã®è¡šçŸã«ã€ããŠã® ã€ãã¬ãŒã¿ ãè¿ããŸããã¡ãã»ãŒãžã¯é©åãªåœ¢åŒããšã®
Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¡šçŸãããã®ãæ®éã§ãããMailboxã€ã³ã¹ã¿ã³ã¹ãåæåããããšãã«æå®ããã°ã奜ã¿ã®ã¡ãã»ãŒãžãã¡ã¯ããªã䜿ãããšãã§ããŸããæ³šé
__iter__()ã¯èŸæžã®ããã®ããã«ããŒã«ã€ããŠã®ã€ãã¬ãŒã¿ã§ã¯ãããŸããã
- values()¶
The same as
itervalues(), except that alistis returned rather than an iterator
- iteritems()¶
(key, message) ãã¢ããã ã key ã¯ããŒã§ message ã¯ã¡ãã»ãŒãžè¡šçŸãã®ã€ãã¬ãŒã¿ãè¿ããŸããã¡ãã»ãŒãžã¯é©åãªåœ¢åŒããšã®
Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¡šçŸãããã®ãæ®éã§ãããMailboxã€ã³ã¹ã¿ã³ã¹ãåæåããããšãã«æå®ããã°ã奜ã¿ã®ã¡ãã»ãŒãžãã¡ã¯ããªã䜿ãããšãã§ããŸãã
- items()¶
The same as
iteritems(), except that alistof pairs is returned rather than an iterator of pairs.
- get(key, default=None)¶
- __getitem__(key)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®è¡šçŸãè¿ããŸãã察å¿ããã¡ãã»ãŒãžãååšããªãå Žåã
get()ãšããŠåŒã³åºããããªã default ãè¿ããŸããã__getitem__()ãšããŠåŒã³åºããããªãKeyErroräŸå€ãéåºãããŸããã¡ãã»ãŒãžã¯é©åãªåœ¢åŒããšã®Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¡šçŸãããã®ãæ®éã§ãããMailboxã¹ã¿ã³ã¹ãåæåããããšãã«æå®ããã°ã奜ã¿ã®ã¡ãã»ãŒãžãã¡ã¯ããªã䜿ãããšãã§ããŸãã
- get_message(key)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®è¡šçŸã圢åŒããšã®
Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¿ããŸãããã察å¿ããã¡ãã»ãŒãžãååšããªããã°KeyErroräŸå€ãéåºãããŸãã
- get_bytes(key)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®ãã€ãåãè¿ããããã®ãããªã¡ãã»ãŒãžãååšããªãå Žåã¯
KeyErroräŸå€ãéåºããŸããAdded in version 3.2.
- get_string(key)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®æåå衚çŸãè¿ããããã®ãããªã¡ãã»ãŒãžãååšããªãå Žåã¯
KeyErroräŸå€ãéåºããŸãããã®ã¡ãã»ãŒãžã¯email.message.MessageãéããŠåŠçãããŠ7ãããã¯ãªãŒã³ãªè¡šçŸãžå€æãããŸãã
- get_file(key)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®è¡šçŸã ãã¡ã€ã«é¢š 衚çŸãšããŠè¿ããŸãããã察å¿ããã¡ãã»ãŒãžãååšããªããã°
KeyErroräŸå€ãéåºãããŸãããã¡ã€ã«é¢šãªããžã§ã¯ãã¯ãã€ããªã¢ãŒãã§éãããŠããããã«æ¯ãèããŸãããã®ãã¡ã€ã«ã¯å¿ èŠããªããªã£ããéããªããã°ãªããŸãããããŒãžã§ã³ 3.2 ã§å€æŽ: ãã¡ã€ã«ãªããžã§ã¯ãã¯å®é㯠ãã€ããªãã¡ã€ã« ã§ã; 以åã¯èª€ã£ãŠããã¹ãã¢ãŒãã§è¿ãããŠããŸããã ãŸããçŸåš ãã¡ã€ã«é¢šãªããžã§ã¯ã 㯠ã³ã³ããã¹ããããŒãžã£ ãããã³ã«ããµããŒãããŠããŸã:
withæãçšããããšã§èªåçã«ãã¡ã€ã«ãéããããšãã§ããŸããæ³šé
ä»ã®è¡šçŸæ¹æ³ãšã¯éãããã¡ã€ã«é¢š 衚çŸã¯ãããäœãåºãã
Mailboxã€ã³ã¹ã¿ã³ã¹ããããåºã¥ããŠããã¡ãŒã«ããã¯ã¹ãšç¬ç«ã§ããå¿ èŠããããŸããããã詳现ãªèª¬æã¯åãµãã¯ã©ã¹ããšã«ãããŸãã
- __contains__(key)¶
key ãã¡ãã»ãŒãžã«å¯Ÿå¿ããŠããã°
Trueããããã§ãªããã°Falseãè¿ããŸãã
- __len__()¶
ã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžæ°ãè¿ããŸãã
- clear()¶
ã¡ãŒã«ããã¯ã¹ããå šãŠã®ã¡ãã»ãŒãžãåé€ããŸãã
- pop(key, default=None)¶
key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã®è¡šçŸãè¿ããŸããã¡ãã»ãŒãžã¯é©åãªåœ¢åŒããšã®
Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¡šçŸãããã®ãæ®éã§ãããMailboxã€ã³ã¹ã¿ã³ã¹ãåæåããããšãã«æå®ããã°ã奜ã¿ã®ã¡ãã»ãŒãžãã¡ã¯ããªã䜿ãããšãã§ããŸãã
- popitem()¶
ä»»æã«éžãã (key, message) ãã¢ãè¿ããŸãããã ãããã§ key ã¯ããŒã§ message ã¯ã¡ãã»ãŒãžè¡šçŸã§ããããã¡ãŒã«ããã¯ã¹ã空ãªãã°ã
KeyErroräŸå€ãéåºããŸããã¡ãã»ãŒãžã¯é©åãªåœ¢åŒããšã®Messageãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠè¡šçŸãããã®ãæ®éã§ãããMailboxã€ã³ã¹ã¿ã³ã¹ãåæåããããšãã«æå®ããã°ã奜ã¿ã®ã¡ãã»ãŒãžãã¡ã¯ããªã䜿ãããšãã§ããŸãã
- update(arg)¶
åŒæ° arg 㯠key ãã message ãžã®ãããã³ã°ãŸã㯠(key, message) ãã¢ã®ã€ãã¬ãŒãå¯èœãªããžã§ã¯ãã§ãªããã°ãªããŸãããã¡ãŒã«ããã¯ã¹ã¯ãå key ãš message ã®ãã¢ã«ã€ããŠ
__setitem__()ã䜿ã£ããã®ããã« key ã«å¯Ÿå¿ããã¡ãã»ãŒãžã message ã«ãªãããã«æŽæ°ãããŸãã__setitem__()ãšåæ§ã«ã key ã¯æ¢åã®ã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžã«å¯Ÿå¿ããŠãããã®ã§ãªããã°ãªãããããã§ãªããã°KeyErrorãéåºãããŸããã§ããããäžè¬çã«ã¯ arg ã«Mailboxã€ã³ã¹ã¿ã³ã¹ãæž¡ãã®ã¯ééãã§ããæ³šé
èŸæžãšéããããŒã¯ãŒãåŒæ°ã¯ãµããŒããããŠããŸããã
- flush()¶
ä¿çãããŠãã倿Žããã¡ã€ã«ã·ã¹ãã ã«æžã蟌ã¿ãŸãã
Mailboxã®ãµãã¯ã©ã¹ã«ãã£ãŠã¯å€æŽã¯ãã€ãçŽã¡ã«ãã¡ã€ã«ã«æžã蟌ãŸãflush()ã¯äœãããªããšããããšããããŸãããããã§ããã®ã¡ãœãããåŒã¶ããã«ç¿æ £ä»ããŠãããŸãããã
- lock()¶
ã¡ãŒã«ããã¯ã¹ã®æä»çã¢ããã€ã¶ãªããã¯ãååŸããä»ã®ããã»ã¹ã倿Žããªãããã«ããŸããããã¯ãååŸã§ããªãå Žå
ExternalClashErrorãéåºãããŸããããã¯æ©æ§ã¯ã¡ãŒã«ããã¯ã¹åœ¢åŒã«ãã£ãŠå€ãããŸããã¡ãŒã«ããã¯ã¹ã®å 容ã«å€æŽãå ãããšã㯠ãã€ã ããã¯ãæããã¹ãã§ãã
- unlock()¶
ã¡ãŒã«ããã¯ã¹ã®ããã¯ãååšããå Žåã¯è§£æŸããŸãã
- close()¶
ã¡ãŒã«ããã¯ã¹ããã©ãã·ã¥ããå¿ èŠãªãã°ã¢ã³ããã¯ããéããŠãããã¡ã€ã«ãéããŸãã
Mailboxãµãã¯ã©ã¹ã«ãã£ãŠã¯äœãããªãããšããããŸãã
Maildir ãªããžã§ã¯ã¶
- class mailbox.Maildir(dirname, factory=None, create=True)¶
Maildir 圢åŒã®ã¡ãŒã«ããã¯ã¹ã®ããã®
Mailboxã®ãµãã¯ã©ã¹ããã©ã¡ãŒã¿ factory ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ (ãã€ããªã¢ãŒãã§éãããŠãããã®ããã«æ¯ãèã)ãã¡ã€ã«é¢šã¡ãã»ãŒãžè¡šçŸãåãä»ããŠå¥œã¿ã®è¡šçŸãè¿ããã®ã§ãã factory ãNoneãªãã°ãMaildirMessageãããã©ã«ãã®ã¡ãã»ãŒãžè¡šçŸãšããŠäœ¿ãããŸãã create ãTrueãªãã°ã¡ãŒã«ããã¯ã¹ãååšããªããšãã«ã¯äœæããŸããcreate ã
Trueã§ããã¹ dirname ãååšããå Žåããã£ã¬ã¯ããªã¬ã€ã¢ãŠããæ€èšŒããã«æ¢åã® maildir ãšããŠæ±ããŸããpath ã§ã¯ãªã dirname ãšåœåãããæŽå²çãªçç±ã®ããã§ãã
Maildir ã¯ãã£ã¬ã¯ããªåã®ã¡ãŒã«ããã¯ã¹åœ¢åŒã§ã¡ãŒã«è»¢éãšãŒãžã§ã³ã qmail çšã«çºæãããçŸåšã§ã¯å€ãã®ä»ã®ããã°ã©ã ã§ããµããŒããããŠãããã®ã§ããMaildir ã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžã¯å ±éã®ãã£ã¬ã¯ããªæ§é ã®äžã§åå¥ã®ãã¡ã€ã«ã«ä¿åãããŸãããã®ãã¶ã€ã³ã«ãããMaildir ã¡ãŒã«ããã¯ã¹ã¯è€æ°ã®ç¡é¢ä¿ã®ããã°ã©ã ããããŒã¿ã倱ãããšãªãã¢ã¯ã»ã¹ããã倿Žãããã§ããŸãããã®ããããã¯ã¯äžèŠã§ãã
Maildir ã¡ãŒã«ããã¯ã¹ã«ã¯äžã€ã®ãµããã£ã¬ã¯ããª
tmp,new,curããããŸããã¡ãã»ãŒãžã¯ãŸãtmpãµããã£ã¬ã¯ããªã«ç¬éçã«äœãããåŸãnewãµããã£ã¬ã¯ããªã«ç§»åãããŠé éãå®äºããŸããã¡ãŒã«ãŠãŒã¶ãšãŒãžã§ã³ããåŒãç¶ããŠcurãµããã£ã¬ã¯ããªã«ã¡ãã»ãŒãžãç§»åãã¡ãã»ãŒãžã®ç¶æ ã«ã€ããŠã®æ å ±ããã¡ã€ã«åã«è¿œå ãããç¹å¥ãª "info" ã»ã¯ã·ã§ã³ã«ä¿åããããšãã§ããŸããCourier ã¡ãŒã«è»¢éãšãŒãžã§ã³ãã«ãã£ãŠå°å ¥ãããã¹ã¿ã€ã«ã®ãã©ã«ãããµããŒããããŸããäž»ããã¡ãŒã«ããã¯ã¹ã®ãµããã£ã¬ã¯ããªã¯
'.'ããã¡ã€ã«åã®å é ã§ããã°ãã©ã«ããšèŠãªãããŸãããã©ã«ãåã¯Maildirã«ãã£ãŠå é ã®'.'ãé€ããŠè¡šçŸãããŸããåãã©ã«ãã¯ãŸã Maildir ã¡ãŒã«ããã¯ã¹ã§ããããã«ãã©ã«ããå«ãããšã¯ã§ããŸããããã®ä»£ãããè«ççå å«é¢ä¿ã¯äŸãã° "Archived.2005.07" ã®ãããª'.'ã䜿ã£ãã¬ãã«åãã§è¡šããããŸãã- colon¶
æ¬æ¥ã® Maildir 仿§ã§ã¯ããçš®ã®ã¡ãã»ãŒãžã®ãã¡ã€ã«åã«ã³ãã³ (
':') ã䜿ãå¿ èŠããããŸããããããªããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠã¯ãã®æåããã¡ã€ã«åã«å«ããããšãã§ããªãããšããããŸãããããã£ãç°å¢ã§ Maildir ã®ãããªåœ¢åŒã䜿ãããå Žåã代ããã«äœ¿ãããæåãæå®ããå¿ èŠããããŸããæå笊 ('!') ã䜿ãã®ãäžè¬çãªéžæã§ãã以äžã®äŸãèŠãŠãã ãã:import mailbox mailbox.Maildir.colon = '!'
colon屿§ã¯ã€ã³ã¹ã¿ã³ã¹ããšã«ã»ããããŠãæ§ããŸããã
ããŒãžã§ã³ 3.13 ã§å€æŽ:
Maildirnow ignores files with a leading dot.Maildirã€ã³ã¹ã¿ã³ã¹ã«ã¯Mailboxã®å šãŠã®ã¡ãœããã«å ã以äžã®ã¡ãœããããããŸã:- list_folders()¶
å šãŠã®ãã©ã«ãåã®ãªã¹ããè¿ããŸãã
- get_folder(folder)¶
ååã folder ã§ãããã©ã«ãã衚ãã
Maildirã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãããã®ãããªãã©ã«ããååšããªããã°NoSuchMailboxErroräŸå€ãéåºãããŸãã
- add_folder(folder)¶
ååã folder ã§ãããã©ã«ããäœããããã衚ãã
Maildirã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã
- remove_folder(folder)¶
ååã folder ã§ãããã©ã«ããåé€ããŸãããããã©ã«ãã«äžã€ã§ãã¡ãã»ãŒãžãå«ãŸããŠããã°
NotEmptyErroräŸå€ãéåºãããã©ã«ãã¯åé€ãããŸããã
- clean()¶
éå»36æé以å ã«ã¢ã¯ã»ã¹ãããªãã£ãã¡ãŒã«ããã¯ã¹å ã®äžæãã¡ã€ã«ãåé€ããŸããMaildir 仿§ã¯ã¡ãŒã«ãèªãããã°ã©ã ã¯ãšãã©ããã®äœæ¥ããã¹ãã ãšããŠããŸãã
- get_flags(key)¶
Return as a string the flags that are set on the message corresponding to key. This is the same as
get_message(key).get_flags()but much faster, because it does not open the message file. Use this method when iterating over the keys to determine which messages are interesting to get.If you do have a
MaildirMessageobject, use itsget_flags()method instead, because changes made by the message'sset_flags(),add_flag()andremove_flag()methods are not reflected here until the mailbox's__setitem__()method is called.Added in version 3.13.
- set_flags(key, flags)¶
On the message corresponding to key, set the flags specified by flags and unset all others. Calling
some_mailbox.set_flags(key, flags)is similar toone_message = some_mailbox.get_message(key) one_message.set_flags(flags) some_mailbox[key] = one_message
but faster, because it does not open the message file.
If you do have a
MaildirMessageobject, use itsset_flags()method instead, because changes made with this mailbox method will not be visible to the message object's method,get_flags().Added in version 3.13.
- add_flag(key, flag)¶
On the message corresponding to key, set the flags 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.
Considerations for using this method versus the message object's
add_flag()method are similar to those forset_flags(); see the discussion there.Added in version 3.13.
- remove_flag(key, flag)¶
On the message corresponding to key, unset the flags specified by flag without changing other flags. To remove more than one flag at a time, flag may be a string of more than one character.
Considerations for using this method versus the message object's
remove_flag()method are similar to those forset_flags(); see the discussion there.Added in version 3.13.
- get_info(key)¶
Return a string containing the info for the message corresponding to key. This is the same as
get_message(key).get_info()but much faster, because it does not open the message file. Use this method when iterating over the keys to determine which messages are interesting to get.If you do have a
MaildirMessageobject, use itsget_info()method instead, because changes made by the message'sset_info()method are not reflected here until the mailbox's__setitem__()method is called.Added in version 3.13.
- set_info(key, info)¶
Set the info of the message corresponding to key to info. Calling
some_mailbox.set_info(key, flags)is similar toone_message = some_mailbox.get_message(key) one_message.set_info(info) some_mailbox[key] = one_message
but faster, because it does not open the message file.
If you do have a
MaildirMessageobject, use itsset_info()method instead, because changes made with this mailbox method will not be visible to the message object's method,get_info().Added in version 3.13.
Maildirã§å®è£ ãããMailboxã®ããã€ãã®ã¡ãœããã«ã¯ç¹å¥ãªæ³šæãå¿ èŠã§ã:- add(message)¶
- __setitem__(key, message)¶
- update(arg)¶
èŠå
ãããã®ã¡ãœããã¯äžæçãªãã¡ã€ã«åãããã»ã¹IDã«åºã¥ããŠçæããŸããè€æ°ã®ã¹ã¬ããã䜿ãå Žåã¯ãåãã¡ãŒã«ããã¯ã¹ãåæã«æäœããªãããã«ã¹ã¬ããéã§èª¿æŽããŠãããªããšæ€ç¥ãããªãååã®è¡çªãèµ·ããã¡ãŒã«ããã¯ã¹ãå£ããããããŸããã
- flush()¶
Maildir ã¡ãŒã«ããã¯ã¹ãžã®å€æŽã¯å³æã«é©çšãããã®ã§ããã®ã¡ãœããã¯äœãããŸããã
- lock()¶
- unlock()¶
Maildir ã¡ãŒã«ããã¯ã¹ã¯ããã¯ããµããŒã(ãŸãã¯èŠæ±)ããªãã®ã§ããã®ã¡ãœããã¯äœãããŸããã
- close()¶
Maildirã€ã³ã¹ã¿ã³ã¹ã¯éãããã¡ã€ã«ãä¿æããŸãããã¡ãŒã«ããã¯ã¹ã¯ããã¯ããµããŒãããŸããã®ã§ããã®ã¡ãœããã¯äœãããŸããã
- get_file(key)¶
ãã¹ãã®ãã©ãããã©ãŒã ã«ãã£ãŠã¯ãè¿ããããã¡ã€ã«ãéããŠããéãå ã«ãªã£ãã¡ãã»ãŒãžã倿Žãããåé€ãããã§ããªãå ŽåããããŸãã
åè
- Courier ã® maildir ããã¥ã¢ã«ããŒãž
Maildir 圢åŒã®ä»æ§ããã©ã«ãããµããŒãããäžè¬çãªæ¡åŒµã«ã€ããŠèšè¿°ãããŠããŸãã
- Using maildir format
Maildir 圢åŒã®çºæè ã«ããæ³šææžããæŽæ°ãããååçæèŠåãš "info" ã®è§£éã«ã€ããŠãå«ãŸããŸãã
mbox ãªããžã§ã¯ã¶
- class mailbox.mbox(path, factory=None, create=True)¶
mbox 圢åŒã®ã¡ãŒã«ããã¯ã¹ã®ããã®
Mailboxã®ãµãã¯ã©ã¹ããã©ã¡ãŒã¿ factory ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ (ãã€ããªã¢ãŒãã§éãããŠãããã®ããã«æ¯ãèã)ãã¡ã€ã«é¢šã¡ãã»ãŒãžè¡šçŸãåãä»ããŠå¥œã¿ã®è¡šçŸãè¿ããã®ã§ãã factory ãNoneãªãã°ãmboxMessageãããã©ã«ãã®ã¡ãã»ãŒãžè¡šçŸãšããŠäœ¿ãããŸãã create ãTrueãªãã°ã¡ãŒã«ããã¯ã¹ãååšããªããšãã«ã¯äœæããŸããmbox 圢åŒã¯ Unixã·ã¹ãã äžã§ã¡ãŒã«ãä¿åããå€ããããã圢åŒã§ããmbox ã¡ãŒã«ããã¯ã¹ã§ã¯å šãŠã®ã¡ãã»ãŒãžãäžã€ã®ãã¡ã€ã«ã«ä¿åãããŠããããããã®ã¡ãã»ãŒãžã¯ "From " ãšãã5æåã§å§ãŸãè¡ãå é ã«ä»ããããŠããŸãã
mbox 圢åŒã«ã¯å¹Ÿã€ãã®ããªãšãŒã·ã§ã³ãããããããããªãªãžãã«ã®åœ¢åŒã«ãã£ãæ¬ ç¹ãå æãããšäž»åŒµããŠããŸããäºææ§ã®ããã«ã
mboxã¯ãªãªãžãã«ã®(æã« mboxo ãšåŒã°ãã) 圢åŒãå®è£ ããŠããŸããããªãã¡ã Content-Length ãããã¯ãããã£ãŠãç¡èŠãããã¡ãã»ãŒãžã®ããã£ã«ããè¡é ã® "From " ã¯ã¡ãã»ãŒãžãä¿åããéã« ">From " ã«å€æãããŸããããã® ">From " ã¯èªã¿åºãæã«ã "From " ã«å€æãããŸãããmboxã§å®è£ ãããMailboxã®ããã€ãã®ã¡ãœããã«ã¯ç¹å¥ãªæ³šæãå¿ èŠã§ã:- get_bytes(key, from_=False)¶
Note: This method has an extra parameter (from_) compared with other classes. The first line of an mbox file entry is the Unix "From " line. If from_ is False, the first line of the file is dropped.
- get_file(key, from_=False)¶
mboxã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿãflush()ã meth:~Mailbox.close ãåŒã³åºããåŸã§ãã¡ã€ã«ã䜿çšãããšäºæããªãçµæãåŒãèµ·ããããäŸå€ãéåºããããããããšããããŸããNote: This method has an extra parameter (from_) compared with other classes. The first line of an mbox file entry is the Unix "From " line. If from_ is False, the first line of the file is dropped.
- get_string(key, from_=False)¶
Note: This method has an extra parameter (from_) compared with other classes. The first line of an mbox file entry is the Unix "From " line. If from_ is False, the first line of the file is dropped.
åè
- tin ã® mbox ããã¥ã¢ã«ããŒãž
mbox 圢åŒã®ä»æ§ã§ããã¯ã«ã€ããŠã®è©³çްãå«ãã
- Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad
ããªãšãŒã·ã§ã³ã®äžã€ã§ã¯ãªããªãªãžãã«ã® mbox ã䜿ãçç±ã
- "mbox" ã¯çžäºã«äºææ§ãæããªãããã€ãã®ã¡ãŒã«ããã¯ã¹ãã©ãŒãããã®éãŸãã§ã
mbox ããªãšãŒã·ã§ã³ã®æŽå²ã
MH ãªããžã§ã¯ã¶
- class mailbox.MH(path, factory=None, create=True)¶
MH 圢åŒã®ã¡ãŒã«ããã¯ã¹ã®ããã®
Mailboxã®ãµãã¯ã©ã¹ããã©ã¡ãŒã¿ factory ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ (ãã€ããªã¢ãŒãã§éãããŠãããã®ããã«æ¯ãèã)ãã¡ã€ã«é¢šã¡ãã»ãŒãžè¡šçŸãåãä»ããŠå¥œã¿ã®è¡šçŸãè¿ããã®ã§ãã factory ãNoneãªãã°ãMHMessageãããã©ã«ãã®ã¡ãã»ãŒãžè¡šçŸãšããŠäœ¿ãããŸãã create ãTrueãªãã°ã¡ãŒã«ããã¯ã¹ãååšããªããšãã«ã¯äœæããŸããMH ã¯ãã£ã¬ã¯ããªã«åºã¥ããã¡ãŒã«ããã¯ã¹åœ¢åŒã§ MH Message Handling System ãšããã¡ãŒã«ãŠãŒã¶ãšãŒãžã§ã³ãã®ããã«çºæãããŸããã MH ã¡ãŒã«ããã¯ã¹äžã®ããããã®ã¡ãã»ãŒãžã¯äžã€ã®ãã¡ã€ã«ãšããŠåããããŠããŸãã MH ã¡ãŒã«ããã¯ã¹ã«ã¯ã¡ãã»ãŒãžã®ä»ã«å¥ã® MH ã¡ãŒã«ããã¯ã¹ (ãã©ã«ã ãšåŒã°ããŸã)ãå«ãã§ãããŸããŸããããã©ã«ãã¯ç¡éã«ãã¹ãã§ããŸãã MH ã¡ãŒã«ããã¯ã¹ã«ã¯ããäžã€ ã·ãŒã±ã³ã¹ ãšããååä»ãã®ãªã¹ãã§ã¡ãã»ãŒãžããµããã©ã«ãã«ç§»åããããšãªãè«ççã«åé¡ãããã®ããµããŒããããŠããŸããã·ãŒã±ã³ã¹ã¯åãã©ã«ãã®
.mh_sequencesãšãããã¡ã€ã«ã§å®çŸ©ãããŸããMHã¯ã©ã¹ã¯ MH ã¡ãŒã«ããã¯ã¹ãæäœããŸããã mh ã®åäœã®å šãŠãæš¡å£ããããšã¯ããŠããŸãããç¹ã«ã mh ãç¶æ ãšèšå®ãä¿åããcontextã.mh_profileãšãã£ããã¡ã€ã«ã¯æžãæããŸããã圱é¿ãåããŸãããMHã€ã³ã¹ã¿ã³ã¹ã«ã¯Mailboxã®å šãŠã®ã¡ãœããã®ä»ã«æ¬¡ã®ã¡ãœããããããŸã:ããŒãžã§ã³ 3.13 ã§å€æŽ: Supported folders that don't contain a
.mh_sequencesfile.- list_folders()¶
å šãŠã®ãã©ã«ãåã®ãªã¹ããè¿ããŸãã
- get_folder(folder)¶
folder ãšããååã®ãã©ã«ãã衚ãã
MHã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãããããã©ã«ããååšããªããã°NoSuchMailboxErroräŸå€ãéåºãããŸãã
- add_folder(folder)¶
folder ãšããååã®ãã©ã«ããäœæããããã衚ãã
MHã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã
- remove_folder(folder)¶
ååã folder ã§ãããã©ã«ããåé€ããŸãããããã©ã«ãã«äžã€ã§ãã¡ãã»ãŒãžãå«ãŸããŠããã°
NotEmptyErroräŸå€ãéåºãããã©ã«ãã¯åé€ãããŸããã
- get_sequences()¶
ã·ãŒã±ã³ã¹åãããŒã®ãªã¹ãã«å¯Ÿå¿ä»ããèŸæžãè¿ããŸããã·ãŒã±ã³ã¹ãäžã€ããªããã°ç©ºã®èŸæžãè¿ããŸãã
- set_sequences(sequences)¶
ã¡ãŒã«ããã¯ã¹äžã®ã·ãŒã±ã³ã¹ã
get_sequences()ã§è¿ããããããªååãšããŒã®ãªã¹ãã察å¿ä»ããèŸæž sequences ã«åºã¥ããŠåå®çŸ©ããŸãã
- pack()¶
çªå·ä»ãã®ééãè©°ããå¿ èŠã«å¿ããŠã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžã®ååãä»ãæ¿ããŸããã·ãŒã±ã³ã¹ã®ãªã¹ãã®ãšã³ããªãããã«å¿ããŠæŽæ°ãããŸãã
泚é
æ¢ã«çºè¡ãããããŒã¯ãã®æäœã«ãã£ãŠç¡å¹ã«ãªãã®ã§ãã以é䜿ã£ãŠã¯ãªããŸããã
MHã§å®è£ ãããMailboxã®ããã€ãã®ã¡ãœããã«ã¯ç¹å¥ãªæ³šæãå¿ èŠã§ã:- remove(key)¶
- __delitem__(key)¶
- discard(key)¶
ãããã®ã¡ãœããã¯ã¡ãã»ãŒãžãçŽã¡ã«åé€ããŸããååã®åã«ã³ã³ããä»å ããŠã¡ãã»ãŒãžã«åé€ã®å°ãä»ãããšãã MH ã®èŠçŽã¯äœ¿ããŸããã
- lock()¶
- unlock()¶
3çš®é¡ã®ããã¯æ©æ§ã䜿ãããŸã --- ããããããã³ã°ãšããã䜿çšå¯èœãªãã°
flock()ãšlockf()ã·ã¹ãã ã³ãŒã«ã§ãã MH ã¡ãŒã«ããã¯ã¹ã«å¯Ÿããããã¯ãšã¯.mh_sequencesã®ããã¯ãšãããã圱é¿ãäžããæäœäžã ãã®åã ã®ã¡ãã»ãŒãžãã¡ã€ã«ã«å¯Ÿããããã¯ãæå³ããŸãã
- get_file(key)¶
ãã¹ããã©ãããã©ãŒã ã«ããããã¡ã€ã«ãéããããŸãŸã®å Žåã¯ã¡ãã»ãŒãžãåé€ããããšãã§ããªãå ŽåããããŸãã
- flush()¶
MH ã¡ãŒã«ããã¯ã¹ãžã®å€æŽã¯å³æã«é©çšãããŸãã®ã§ãã®ã¡ãœããã¯äœãããŸããã
åè
- nmh - Message Handling System
mh ã®æ¹è¯çã§ãã nmh ã®ããŒã ããŒãžã
- MH & nmh: Email for Users & Programmers
GPLã©ã€ã»ã³ã¹ã® mh ããã³ nmh ã®æ¬ã§ããã®ã¡ãŒã«ããã¯ã¹åœ¢åŒã«ã€ããŠã®æ å ±ããããŸãã
Babyl ãªããžã§ã¯ã¶
- class mailbox.Babyl(path, factory=None, create=True)¶
Babyl 圢åŒã®ã¡ãŒã«ããã¯ã¹ã®ããã®
Mailboxã®ãµãã¯ã©ã¹ããã©ã¡ãŒã¿ factory ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ (ãã€ããªã¢ãŒãã§éãããŠãããã®ããã«æ¯ãèã)ãã¡ã€ã«é¢šã¡ãã»ãŒãžè¡šçŸãåãä»ããŠå¥œã¿ã®è¡šçŸãè¿ããã®ã§ãã factory ãNoneãªãã°ãBabylMessageãããã©ã«ãã®ã¡ãã»ãŒãžè¡šçŸãšããŠäœ¿ãããŸãã create ãTrueãªãã°ã¡ãŒã«ããã¯ã¹ãååšããªããšãã«ã¯äœæããŸããBabyl ã¯åäžãã¡ã€ã«ã®ã¡ãŒã«ããã¯ã¹åœ¢åŒã§ Emacs ã«ä»å±ããŠãã Rmail ã¡ãŒã«ãŠãŒã¶ãšãŒãžã§ã³ãã§äœ¿ãããŠãããã®ã§ããã¡ãã»ãŒãžã®éå§ã¯ Control-Underscore (
'\037') ããã³ Control-L ('\014') ã®äºæåãå«ãè¡ã§ç€ºãããŸããã¡ãã»ãŒãžã®çµäºã¯æ¬¡ã®ã¡ãã»ãŒãžã®éå§ãŸãã¯æåŸã®ã¡ãã»ãŒãžã®å Žåã«ã¯ Control-Underscore ãå«ãè¡ã§ç€ºãããŸããBabyl ã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžã«ã¯äºã€ã®ãããã®ã»ããããªãªãžãã«ããããšããããå¯èŠããããããããŸããå¯èŠãããã¯å žåçã«ã¯ãªãªãžãã«ãããã®äžéšãåãæãããã«åæŽåœ¢ãããçãããããããã®ã§ãã Babyl ã¡ãŒã«ããã¯ã¹äžã®ããããã®ã¡ãã»ãŒãžã«ã¯ ã©ãã« ãšãããã®ã¡ãã»ãŒãžã«ã€ããŠã®è¿œå æ å ±ãèšé²ããçãæååã®ãªã¹ãã䌎ããã¡ãŒã«ããã¯ã¹äžã«èŠåºããããŠãŒã¶ãå®çŸ©ããå šãŠã®ã©ãã«ã®ãªã¹ã㯠Babyl ãªãã·ã§ã³ã»ã¯ã·ã§ã³ã«ä¿æãããŸãã
Babylã€ã³ã¹ã¿ã³ã¹ã«ã¯Mailboxã®å šãŠã®ã¡ãœããã®ä»ã«æ¬¡ã®ã¡ãœããããããŸã:- get_labels()¶
ã¡ãŒã«ããã¯ã¹ã§äœ¿ãããŠãããŠãŒã¶ãå®çŸ©ããå šãŠã®ã©ãã«ã®ãªã¹ããè¿ããŸãã
泚é
ã¡ãŒã«ããã¯ã¹ã«ã©ã®ãããªã©ãã«ãååšããããæ±ºããã®ã«ãBabyl ãªãã·ã§ã³ã»ã¯ã·ã§ã³ã®ãªã¹ããåèã«ãããå®éã®ã¡ãã»ãŒãžãæçŽ¢ããŸãããBabyl ã»ã¯ã·ã§ã³ãã¡ãŒã«ããã¯ã¹ã倿Žããããšãã«ã¯ãã€ã§ãæŽæ°ãããŸãã
Babylã§å®è£ ãããMailboxã®ããã€ãã®ã¡ãœããã«ã¯ç¹å¥ãªæ³šæãå¿ èŠã§ã:- get_file(key)¶
Babyl ã¡ãŒã«ããã¯ã¹ã«ãããŠãã¡ãã»ãŒãžã®ãããã¯ããã£ãšç¹ãã£ãŠæ ŒçŽãããŠããŸããããã¡ã€ã«é¢šã®è¡šçŸãçæããããã«ãããããšããã£ããã¡ã€ã«ãšåã API ãæã€
io.BytesIOã€ã³ã¹ã¿ã³ã¹ã«äžç·ã«ã³ããŒãããŸãããã®çµæããã¡ã€ã«é¢šãªããžã§ã¯ãã¯å ã«ããŠããã¡ãŒã«ããã¯ã¹ãšã¯çã«ç¬ç«ããŠããŸãããæåå衚çŸãšæ¯ã¹ãŠã¡ã¢ãªãŒãç¯çŽããããšã«ã¯ãªããŸããã
åè
- Format of Version 5 Babyl Files
Babyl 圢åŒã®ä»æ§ã
- Reading Mail with Rmail
Rmail ã®ããã¥ã¢ã«ã§ Babyl ã®ã»ãã³ãã£ã¯ã¹ã«ã€ããŠã®æ å ±ãå°ãããã
MMDF ãªããžã§ã¯ã¶
- class mailbox.MMDF(path, factory=None, create=True)¶
MMDF 圢åŒã®ã¡ãŒã«ããã¯ã¹ã®ããã®
Mailboxã®ãµãã¯ã©ã¹ããã©ã¡ãŒã¿ factory ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ (ãã€ããªã¢ãŒãã§éãããŠãããã®ããã«æ¯ãèã)ãã¡ã€ã«é¢šã¡ãã»ãŒãžè¡šçŸãåãä»ããŠå¥œã¿ã®è¡šçŸãè¿ããã®ã§ãã factory ãNoneãªãã°ãMMDFMessageãããã©ã«ãã®ã¡ãã»ãŒãžè¡šçŸãšããŠäœ¿ãããŸãã create ãTrueãªãã°ã¡ãŒã«ããã¯ã¹ãååšããªããšãã«ã¯äœæããŸããMMDF ã¯åäžãã¡ã€ã«ã®ã¡ãŒã«ããã¯ã¹åœ¢åŒã§ Multichannel Memorandum Distribution Facility ãšããã¡ãŒã«è»¢éãšãŒãžã§ã³ãçšã«çºæããããã®ã§ããåã¡ãã»ãŒãžã¯ mbox ãšåæ§ã®åœ¢åŒã§åããããŸãããååŸã4ã€ã® Control-A (
'\001') ãå«ãè¡ã§æãã§ãããŸããmbox 圢åŒãšåãããã«ããããã®ã¡ãã»ãŒãžã®éå§ã¯ "From " ã®5æåãå«ãè¡ã§ç€ºãããŸããããã以å€ã®å Žæã§ã® "From " ã¯æ ŒçŽã®é ">From " ã«ã¯å€ããããŸãããããã¯è¿œå ãããã¡ãã»ãŒãžåºåãã«ãã£ãŠæ°ããªã¡ãã»ãŒãžã®éå§ãšèŠééãããšãé¿ããããããã§ããMMDFã§å®è£ ãããMailboxã®ããã€ãã®ã¡ãœããã«ã¯ç¹å¥ãªæ³šæãå¿ èŠã§ã:- get_bytes(key, from_=False)¶
Note: This method has an extra parameter (from_) compared with other classes. The first line of an mbox file entry is the Unix "From " line. If from_ is False, the first line of the file is dropped.
- get_file(key, from_=False)¶
MMDFã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿãflush()ã meth:~Mailbox.close ãåŒã³åºããåŸã§ãã¡ã€ã«ã䜿çšãããšäºæããªãçµæãåŒãèµ·ããããäŸå€ãéåºããããããããšããããŸããNote: This method has an extra parameter (from_) compared with other classes. The first line of an mbox file entry is the Unix "From " line. If from_ is False, the first line of the file is dropped.
åè
- mmdf man page from tin
ãã¥ãŒã¹ãªãŒã tin ã®ããã¥ã¡ã³ãäžã® MMDF 圢åŒä»æ§ã
- MMDF
Multichannel Memorandum Distribution Facility ã«ã€ããŠã®ãŠã£ãããã£ã¢ã®èšäºã
Message ãªããžã§ã¯ã¶
- class mailbox.Message(message=None)¶
email.messageã¢ãžã¥ãŒã«ã®Messageã®ãµãã¯ã©ã¹ãmailbox.Messageã®ãµãã¯ã©ã¹ã¯ã¡ãŒã«ããã¯ã¹åœ¢åŒããšã®ç¶æ ãšåäœã远å ããŸããIf message is omitted, the new instance is created in a default, empty state. If message is an
email.message.Messageinstance, its contents are copied; furthermore, any format-specific information is converted insofar as possible if message is aMessageinstance. If message is a string, a byte string, or a file, it should contain an RFC 5322-compliant message, which is read and parsed. Files should be open in binary mode, but text mode files are accepted for backward compatibility.ãµãã¯ã©ã¹ã«ããæäŸããã圢åŒããšã®ç¶æ ãšåäœã¯æ§ã ã§ãããäžè¬ã«æãã¡ãŒã«ããã¯ã¹ã«åºæã®ãã®ã§ãªãããããã£ã ãããµããŒããããŸã(ããããããããã£ã®ã»ããã¯ã¡ãŒã«ããã¯ã¹åœ¢åŒããšã«åºæã§ãããã)ãäŸãã°ãåäžãã¡ã€ã«ã¡ãŒã«ããã¯ã¹åœ¢åŒã«ããããã¡ã€ã«ãªãã»ããããã£ã¬ã¯ããªåŒã¡ãŒã«ããã¯ã¹åœ¢åŒã«ããããã¡ã€ã«åã¯ä¿æãããŸããããšããã®ããããã¯å ã ã®ã¡ãŒã«ããã¯ã¹ã«ããé©çšã§ããªãããã§ããããããã¡ãã»ãŒãžããŠãŒã¶ã«èªãŸãããã©ãããããã¯éèŠã ãšããŒã¯ããããã©ãããšããç¶æ ã¯ä¿æãããŸãããšããã®ã¯ãããã¯ã¡ãã»ãŒãžèªäœã«é©çšãããããã§ãã
Mailboxã€ã³ã¹ã¿ã³ã¹ã䜿ã£ãŠååŸããã¡ãã»ãŒãžã衚çŸããã®ã«Messageã€ã³ã¹ã¿ã³ã¹ã䜿ãããªããã°ãããªããšã¯èŠæ±ããŠããŸãããããçš®ã®ç¶æ³ã§ã¯Messageã«ãã衚çŸãçæããã®ã«å¿ èŠãªæéãã¡ã¢ãªãŒãåãå ¥ããããªãããšããããŸãããããã£ãç¶æ³ã§ã¯Mailboxã€ã³ã¹ã¿ã³ã¹ã¯æååããã¡ã€ã«é¢šãªããžã§ã¯ãã®è¡šçŸãæäŸã§ããŸãããMailboxã€ã³ã¹ã¿ã³ã¹ãåæåããéã«ã¡ãã»ãŒãžãã¡ã¯ããªãŒãæå®ããããšãã§ããŸãã
MaildirMessage ãªããžã§ã¯ã¶
- class mailbox.MaildirMessage(message=None)¶
Maildir åºæã®åäœãããã¡ãã»ãŒãžãåŒæ° message ã¯
Messageã®ã³ã³ã¹ãã©ã¯ã¿ãšåãæå³ãæã¡ãŸããéåžžãã¡ãŒã«ãŠãŒã¶ãšãŒãžã§ã³ãã¯
newãµããã£ã¬ã¯ããªã«ããå šãŠã®ã¡ãã»ãŒãžããŠãŒã¶ãæåã«ã¡ãŒã«ããã¯ã¹ãéããéãããããåŸã§curãµããã£ã¬ã¯ããªã«ç§»åããã¡ãã»ãŒãžãå®éã«èªãŸãããã©ãããèšé²ããŸããcurã«ããåã¡ãã»ãŒãžã«ã¯ç¶æ æ å ±ãä¿åãããã¡ã€ã«åã«ä»ãå ãããã "info" ã»ã¯ã·ã§ã³ããããŸãã(ã¡ãŒã«ãªãŒãã®äžã«ã¯ "info" ã»ã¯ã·ã§ã³ãnewã«ããã¡ãã»ãŒãžã«ä»ããããšããããŸãã) "info" ã»ã¯ã·ã§ã³ã«ã¯äºã€ã®åœ¢åŒããããŸããäžã€ã¯ "2," ã®åŸã«æšæºåããããã©ã°ã®ãªã¹ããä»ãããã® (ããšãã° "2,FR")ãããäžã€ã¯ "1," ã®åŸã«ããããå®éšçæ å ±ãä»ãå ãããã®ã§ãã Maildir ã®æšæºçãªãã©ã°ã¯ä»¥äžã®éãã§ã:Flag
æå³
説æ
D
ãã©ãã(Draft)
äœæäž
F
ãã©ã°ä»ã(Flagged)
éèŠãšããããã®
P
éé(Passed)
転éãåéãŸãã¯ããŠã³ã¹
R
è¿çæžã¿(Replied)
è¿çããããã®
S
æ¢èª(Seen)
èªãã ãã®
T
ãã¿(Trashed)
åé€äºå®ãšããããã®
MaildirMessageã€ã³ã¹ã¿ã³ã¹ã¯ä»¥äžã®ã¡ãœãããæäŸããŸã:- get_subdir()¶
"new" (ã¡ãã»ãŒãžã
newãµããã£ã¬ã¯ããªã«ä¿åãããã¹ãå Žå) ãŸã㯠"cur" (ã¡ãã»ãŒãžãcurãµããã£ã¬ã¯ããªã«ä¿åãããã¹ãå Žå)ã®ã©ã¡ãããè¿ããŸããæ³šé
ã¡ãã»ãŒãžã¯éåžžã¡ãŒã«ããã¯ã¹ãã¢ã¯ã»ã¹ãããåŸãã¡ãã»ãŒãžãèªãŸãããã©ããã«é¢ããã
newããcurã«ç§»åãããŸããã¡ãã»ãŒãžmsgã¯"S" in msg.get_flags()ãTrueãªãã°èªãŸããŠããŸãã
- set_subdir(subdir)¶
ã¡ãã»ãŒãžãä¿åãããã¹ããµããã£ã¬ã¯ããªãã»ããããŸãããã©ã¡ãŒã¿ subdir 㯠"new" ãŸã㯠"cur" ã®ããããã§ãªããã°ãªããŸããã
- get_flags()¶
çŸåšã»ãããããŠãããã©ã°ãç¹å®ããæååãè¿ããŸããã¡ãã»ãŒãžãæšæº Maildir 圢åŒã«æºæ ããŠãããªãã°ãçµæã¯ã¢ã«ãã¡ãããé ã«äžŠã¹ããããŒããŸãã¯1åã®
'D'ã'F'ã'P'ã'R'ã'S'ã'T'ãã€ãªãããã®ã§ãã空æååãè¿ãããã®ã¯ãã©ã°ãäžã€ããªãå ŽåããŸã㯠"info" ãå®éšçã»ãã³ãã£ã¯ã¹ã䜿ã£ãŠããå Žåã§ãã
- set_flags(flags)¶
flags ã§æå®ããããã©ã°ãã»ããããä»ã®ãã©ã°ã¯äžãããŸãã
- add_flag(flag)¶
flag ã§æå®ããããã©ã°ãã»ããããŸããä»ã®ãã©ã°ã¯å€ããŸãããäžåºŠã«äºã€ä»¥äžã®ãã©ã°ãã»ããããããšã¯ãflag ã«2æå以äžã®æååãæå®ããã°ã§ããŸããçŸåšã® "info" ã¯ãã©ã°ã®ä»£ããã«å®éšçæ å ±ã䜿ã£ãŠããŠãäžæžããããŸãã
- remove_flag(flag)¶
Unset the flag(s) specified by flag without changing other flags. To remove more than one flag at a time, flag may be a string of more than one character. If "info" contains experimental information rather than flags, the current "info" is not modified.
- get_date()¶
ã¡ãã»ãŒãžã®é 鿥æããšããã¯ããã®ç§æ°ã衚ããæµ®åå°æ°ç¹æ°ã§è¿ããŸãã
- set_date(date)¶
ã¡ãã»ãŒãžã®é 鿥æã date ã«ã»ããããŸããdate ã¯ãšããã¯ããã®ç§æ°ã衚ããæµ®åå°æ°ç¹æ°ã§ãã
- get_info()¶
ã¡ãã»ãŒãžã® "info" ãå«ãæååãè¿ããŸãããã®ã¡ãœããã¯å®éšç (å³ã¡ãã©ã°ã®ãªã¹ãã§ãªã) "info" ã«ã¢ã¯ã»ã¹ãããŸã倿Žããã®ã«åœ¹ç«ã¡ãŸãã
- set_info(info)¶
"info" ã«æåå info ãã»ããããŸãã
MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã mboxMessage ã MMDFMessage ã®ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã Status ããã³ X-Status ãããã¯çãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"cur" ãµããã£ã¬ã¯ã㪠|
O ãã©ã° |
F ãã©ã° |
F ãã©ã° |
R ãã©ã° |
A ãã©ã° |
S ãã©ã° |
R ãã©ã° |
T ãã©ã° |
D ãã©ã° |
MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã MHMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"cur" ãµããã£ã¬ã¯ã㪠|
"unseen" ã·ãŒã±ã³ã¹ |
"cur" ãµããã£ã¬ã¯ããªããã³ S ãã©ã° |
"unseen" ã·ãŒã±ã³ã¹ç¡ã |
F ãã©ã° |
"flagged" ã·ãŒã±ã³ã¹ |
R ãã©ã° |
"replied" ã·ãŒã±ã³ã¹ |
MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã BabylMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"cur" ãµããã£ã¬ã¯ã㪠|
"unseen" ã©ãã« |
"cur" ãµããã£ã¬ã¯ããªããã³ S ãã©ã° |
"unseen" ã©ãã«ç¡ã |
P ãã©ã° |
"forwarded" ãŸã㯠"resent" ã©ãã« |
R ãã©ã° |
"answered" ã©ãã« |
T ãã©ã° |
"deleted" ã©ãã« |
mboxMessage ãªããžã§ã¯ã¶
- class mailbox.mboxMessage(message=None)¶
mbox åºæã®åäœãããã¡ãã»ãŒãžãåŒæ° message ã¯
Messageã®ã³ã³ã¹ãã©ã¯ã¿ãšåãæå³ãæã¡ãŸããmbox ã¡ãŒã«ããã¯ã¹äžã®ã¡ãã»ãŒãžã¯åäžãã¡ã€ã«ã«ãŸãšããŠæ ŒçŽãããŠããŸããéãäž»ã®ãšã³ãããŒãã¢ãã¬ã¹ããã³é 鿥æã¯éåžžã¡ãã»ãŒãžã®éå§ã瀺ã "From " ããå§ãŸãè¡ã«èšé²ãããŸãããæ£ç¢ºãªãã©ãŒãããã«é¢ããŠã¯ mbox ã®å®è£ ããšã«å€§ããªéãããããŸããã¡ãã»ãŒãžã®ç¶æ ã瀺ããã©ã°ãããšãã°èªãã ãã©ãããããã¯éèŠã ãšããŒã¯ãä»ããããŠãããã©ãããšãã£ããããªãã®ãã¯å žåçã«ã¯ Status ããã³ X-Status ã«åããããŸãã
èŠå®ãããŠãã mbox ã¡ãã»ãŒãžã®ãã©ã°ã¯ä»¥äžã®éãã§ã:
Flag
æå³
説æ
R
èªãã ãã®
èªãã ãã®
O
å€ã(Old)
以åã« MUA ã«çºèŠããã
D
åé€(Deleted)
åé€äºå®ãšããããã®
F
ãã©ã°ä»ã(Flagged)
éèŠãšããããã®
A
è¿çæžã¿(Answered)
è¿çããããã®
"R" ããã³ "O" ãã©ã°ã¯ Status ãããã«èšé²ããã "D"ã"F"ã"A" ãã©ã°ã¯ X-Status ãããã«èšé²ãããŸãããã©ã°ãšãããã¯éåžžèšè¿°ãããé çªã«åºçŸããŸãã
mboxMessageã€ã³ã¹ã¿ã³ã¹ã¯ä»¥äžã®ã¡ãœãããæäŸããŸã:- get_from()¶
mbox ã¡ãŒã«ããã¯ã¹ã®ã¡ãã»ãŒãžã®éå§ã瀺ã "From " è¡ã衚ããæååãè¿ããŸããå é ã® "From " ããã³æ«å°Ÿã®æ¹è¡ã¯å«ãŸããŸããã
- set_from(from_, time_=None)¶
"From " è¡ã from_ ã«ã»ããããŸãã from_ ã¯å é ã® "From " ãæ«å°Ÿã®æ¹è¡ãå«ãŸãªãåœ¢ã§æå®ããªããã°ãªããŸãããå©äŸ¿æ§ã®ããã«ã time_ ãæå®ããŠé©åã«æŽåœ¢ã㊠from_ ã«è¿œå ãããããšãã§ããŸãã time_ ãæå®ããå Žåãããã¯
time.struct_timeã€ã³ã¹ã¿ã³ã¹ãtime.strftime()ã«æž¡ãã®ã«é©ããã¿ãã«ããŸãã¯True(ãã®å Žåtime.gmtime()ã䜿ããŸã) ã®ããããã§ãªããã°ãªããŸããã
- get_flags()¶
çŸåšã»ãããããŠãããã©ã°ãç¹å®ããæååãè¿ããŸããã¡ãã»ãŒãžãèŠå®ããã圢åŒã«æºæ ããŠãããªãã°ãçµæã¯æ¬¡ã®é ã«äžŠã¹ããã 0åã1åã®
'R'ã'O'ã'D'ã'F'ã'A'ã§ãã
- set_flags(flags)¶
flags ã§æå®ããããã©ã°ãã»ããããŠãä»ã®ãã©ã°ã¯äžãããŸããflags ã¯äžŠã¹ããããŒããŸãã¯1åã®
'R'ã'O'ã'D'ã'F'ã'A'ã§ãã
- add_flag(flag)¶
flag ã§æå®ããããã©ã°ãã»ããããŸããä»ã®ãã©ã°ã¯å€ããŸãããäžåºŠã«äºã€ä»¥äžã®ãã©ã°ãã»ããããããšã¯ãflag ã«2æå以äžã®æååãæå®ããã°ã§ããŸãã
- remove_flag(flag)¶
Unset the flag(s) specified by flag without changing other flags. To remove more than one flag at a time, flag may be a string of more than one character.
mboxMessage ã€ã³ã¹ã¿ã³ã¹ã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã®é
鿥æã«åºã¥ã㊠"From " è¡ãäœãåºãããæ¬¡ã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã° |
S ãã©ã° |
O ãã©ã° |
"cur" ãµããã£ã¬ã¯ã㪠|
D ãã©ã° |
T ãã©ã° |
F ãã©ã° |
F ãã©ã° |
A ãã©ã° |
R ãã©ã° |
mboxMessage ã€ã³ã¹ã¿ã³ã¹ã MHMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã°ããã³ O ãã©ã° |
"unseen" ã·ãŒã±ã³ã¹ç¡ã |
O ãã©ã° |
"unseen" ã·ãŒã±ã³ã¹ |
F ãã©ã° |
"flagged" ã·ãŒã±ã³ã¹ |
A ãã©ã° |
"replied" ã·ãŒã±ã³ã¹ |
mboxMessage ã€ã³ã¹ã¿ã³ã¹ã BabylMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã°ããã³ O ãã©ã° |
"unseen" ã©ãã«ç¡ã |
O ãã©ã° |
"unseen" ã©ãã« |
D ãã©ã° |
"deleted" ã©ãã« |
A ãã©ã° |
"answered" ã©ãã« |
mboxMessage ã€ã³ã¹ã¿ã³ã¹ã MMDFMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã"From " è¡ã¯ã³ããŒããå
šãŠã®ãã©ã°ã¯çŽæ¥å¯Ÿå¿ããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã° |
R ãã©ã° |
O ãã©ã° |
O ãã©ã° |
D ãã©ã° |
D ãã©ã° |
F ãã©ã° |
F ãã©ã° |
A ãã©ã° |
A ãã©ã° |
MHMessage ãªããžã§ã¯ã¶
- class mailbox.MHMessage(message=None)¶
MH åºæã®åäœãããã¡ãã»ãŒãžãåŒæ° message ã¯
Messageã®ã³ã³ã¹ãã©ã¯ã¿ãšåãæå³ãæã¡ãŸããMH ã¡ãã»ãŒãžã¯äŒçµ±çãªæå³ããã«ãããŠããŒã¯ããã©ã°ããµããŒãããŸãããããããMH ã¡ãã»ãŒãžã«ã¯ã·ãŒã±ã³ã¹ãããä»»æã®ã¡ãã»ãŒãžãè«ççã«ã°ã«ãŒãåãã§ããŸããããã€ãã®ã¡ãŒã«ãœãã(æšæºã® mh ã nmh ã¯ããã§ã¯ãããŸããã) ã¯ä»ã®åœ¢åŒã«ããããã©ã°ãšã»ãŒåãããã«ã·ãŒã±ã³ã¹ã䜿ããŸã:
ã·ãŒã±ã³ã¹
説æ
unseen
èªãã§ã¯ããªããæ¢ã«MUAã«èŠã€ããããŠãã
replied
è¿çããããã®
flagged
éèŠãšããããã®
MHMessageã€ã³ã¹ã¿ã³ã¹ã¯ä»¥äžã®ã¡ãœãããæäŸããŸã:- get_sequences()¶
ãã®ã¡ãã»ãŒãžãå«ãã·ãŒã±ã³ã¹ã®ååã®ãªã¹ããè¿ãã
- set_sequences(sequences)¶
ãã®ã¡ãã»ãŒãžãå«ãã·ãŒã±ã³ã¹ã®ãªã¹ããã»ããããã
- add_sequence(sequence)¶
sequence ããã®ã¡ãã»ãŒãžãå«ãã·ãŒã±ã³ã¹ã®ãªã¹ãã«è¿œå ããã
- remove_sequence(sequence)¶
sequence ããã®ã¡ãã»ãŒãžãå«ãã·ãŒã±ã³ã¹ã®ãªã¹ãããé€ãã
MHMessage ã€ã³ã¹ã¿ã³ã¹ã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã·ãŒã±ã³ã¹ |
S ãã©ã°ç¡ã |
"replied" ã·ãŒã±ã³ã¹ |
R ãã©ã° |
"flagged" ã·ãŒã±ã³ã¹ |
F ãã©ã° |
MHMessage ã€ã³ã¹ã¿ã³ã¹ã mboxMessage ã MMDFMessage ã®ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã Status ããã³ X-Status ãããã¯çãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã·ãŒã±ã³ã¹ |
R ãã©ã°ç¡ã |
"replied" ã·ãŒã±ã³ã¹ |
A ãã©ã° |
"flagged" ã·ãŒã±ã³ã¹ |
F ãã©ã° |
MHMessage ã€ã³ã¹ã¿ã³ã¹ã BabylMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã·ãŒã±ã³ã¹ |
"unseen" ã©ãã« |
"replied" ã·ãŒã±ã³ã¹ |
"answered" ã©ãã« |
BabylMessage ãªããžã§ã¯ã¶
- class mailbox.BabylMessage(message=None)¶
Babyl åºæã®åäœãããã¡ãã»ãŒãžãåŒæ° message ã¯
Messageã®ã³ã³ã¹ãã©ã¯ã¿ãšåãæå³ãæã¡ãŸããããçš®ã®ã¡ãã»ãŒãžã©ãã«ã¯ ã¢ããªãã¥ãŒã ãšåŒã°ããèŠçŽã«ããç¹å¥ãªæå³ãäžããããŠããŸããã¢ããªãã¥ãŒãã¯ä»¥äžã®éãã§ã:
ã©ãã«
説æ
unseen
èªãã§ã¯ããªããæ¢ã«MUAã«èŠã€ããããŠãã
deleted
åé€äºå®ãšããããã®
filed
ä»ã®ãã¡ã€ã«ãŸãã¯ã¡ãŒã«ããã¯ã¹ã«ã³ããŒããã
answered
è¿çããããã®
forwarded
転éããã
edited
ãŠãŒã¶ã«ãã£ãŠå€æŽããã
resent
åéããã
ããã©ã«ãã§ã¯ Rmail ã¯å¯èŠãããã®ã¿è¡šç€ºããŸãã
BabylMessageã¯ã©ã¹ã¯ãããããªãªãžãã«ããããããå®å šã ãšããçç±ã§äœ¿ããŸããå¯èŠãããã¯æããªããã®ããã«æç€ºããŠã¢ã¯ã»ã¹ããããšãã§ããŸããBabylMessageã€ã³ã¹ã¿ã³ã¹ã¯ä»¥äžã®ã¡ãœãããæäŸããŸã:- get_labels()¶
ã¡ãã»ãŒãžã«ä»ããŠããã©ãã«ã®ãªã¹ããè¿ããŸãã
- set_labels(labels)¶
ã¡ãã»ãŒãžã«ä»ããŠããã©ãã«ã®ãªã¹ãã labels ã«ã»ããããŸãã
- add_label(label)¶
ã¡ãã»ãŒãžã«ä»ããŠããã©ãã«ã®ãªã¹ãã« label ã远å ããŸãã
- remove_label(label)¶
ã¡ãã»ãŒãžã«ä»ããŠããã©ãã«ã®ãªã¹ããã label ãåé€ããŸãã
- get_visible()¶
ããããã¡ãã»ãŒãžã®å¯èŠãããã§ããããã£ã空ã§ãããããª
Messageã€ã³ã¹ã¿ã³ã¹ãè¿ããŸãã
- set_visible(visible)¶
ã¡ãã»ãŒãžã®å¯èŠãããã visible ã®ããããšåãã«ã»ããããŸããåŒæ° visible ã¯
Messageã€ã³ã¹ã¿ã³ã¹ãŸãã¯email.message.Messageã€ã³ã¹ã¿ã³ã¹ãæååããã¡ã€ã«é¢šãªããžã§ã¯ã(ããã¹ãã¢ãŒãã§éãããŠãªããã°ãªããŸãã)ã®ããããã§ãã
- update_visible()¶
BabylMessageã€ã³ã¹ã¿ã³ã¹ã®ãªãªãžãã«ãããã倿Žããããšããå¯èŠãããã¯èªåçã«å¯Ÿå¿ããŠå€æŽãããããã§ã¯ãããŸããããã®ã¡ãœããã¯å¯èŠãããã以äžã®ããã«æŽæ°ããŸãã察å¿ãããªãªãžãã«ãããã®ããå¯èŠãããã¯ãªãªãžãã«ãããã®å€ãã»ãããããŸãã察å¿ãããªãªãžãã«ãããã®ç¡ãå¯èŠãããã¯é€å»ãããŸãããããŠããªãªãžãã«ãããã«ãã£ãŠå¯èŠãããã«ç¡ã Date ã From ã Reply-To ã To ã CC ã Subject ã¯å¯èŠãããã«è¿œå ãããŸãã
BabylMessage ã€ã³ã¹ã¿ã³ã¹ã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã©ãã« |
S ãã©ã°ç¡ã |
"deleted" ã©ãã« |
T ãã©ã° |
"answered" ã©ãã« |
R ãã©ã° |
"forwarded" ã©ãã« |
P ãã©ã° |
BabylMessage ã€ã³ã¹ã¿ã³ã¹ã mboxMessage ã MMDFMessage ã®ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã Status ããã³ X-Status ãããã¯çãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã©ãã« |
R ãã©ã°ç¡ã |
"deleted" ã©ãã« |
D ãã©ã° |
"answered" ã©ãã« |
A ãã©ã° |
BabylMessage ã€ã³ã¹ã¿ã³ã¹ã MHMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
"unseen" ã©ãã« |
"unseen" ã·ãŒã±ã³ã¹ |
"answered" ã©ãã« |
"replied" ã·ãŒã±ã³ã¹ |
MMDFMessage ãªããžã§ã¯ã¶
- class mailbox.MMDFMessage(message=None)¶
MMDF åºæã®åäœãããã¡ãã»ãŒãžãåŒæ° message ã¯
Messageã®ã³ã³ã¹ãã©ã¯ã¿ãšåãæå³ãæã¡ãŸããmbox ã¡ãŒã«ããã¯ã¹ã®ã¡ãã»ãŒãžãšåæ§ã«ãMMDF ã¡ãã»ãŒãžã¯éãäž»ã®ã¢ãã¬ã¹ãšé 鿥æãæåã® "From " ã§å§ãŸãè¡ã«èšé²ãããŠããŸããåæ§ã«ãã¡ãã»ãŒãžã®ç¶æ ã瀺ããã©ã°ã¯éåžž Status ããã³ X-Status ãããã«åããããŠããŸãã
ãã䜿ããã MMDF ã¡ãã»ãŒãžã®ãã©ã°ã¯ mbox ã¡ãã»ãŒãžã®ãã®ãšåäžã§ä»¥äžã®éãã§ã:
Flag
æå³
説æ
R
èªãã ãã®
èªãã ãã®
O
å€ã(Old)
以åã« MUA ã«çºèŠããã
D
åé€(Deleted)
åé€äºå®ãšããããã®
F
ãã©ã°ä»ã(Flagged)
éèŠãšããããã®
A
è¿çæžã¿(Answered)
è¿çããããã®
"R" ããã³ "O" ãã©ã°ã¯ Status ãããã«èšé²ããã "D"ã"F"ã"A" ãã©ã°ã¯ X-Status ãããã«èšé²ãããŸãããã©ã°ãšãããã¯éåžžèšè¿°ãããé çªã«åºçŸããŸãã
MMDFMessageã€ã³ã¹ã¿ã³ã¹ã¯mboxMessageã€ã³ã¹ã¿ã³ã¹ãšåäžã®ä»¥äžã®ã¡ãœãããæäŸããŸã:- get_from()¶
mbox ã¡ãŒã«ããã¯ã¹ã®ã¡ãã»ãŒãžã®éå§ã瀺ã "From " è¡ã衚ããæååãè¿ããŸããå é ã® "From " ããã³æ«å°Ÿã®æ¹è¡ã¯å«ãŸããŸããã
- set_from(from_, time_=None)¶
"From " è¡ã from_ ã«ã»ããããŸãã from_ ã¯å é ã® "From " ãæ«å°Ÿã®æ¹è¡ãå«ãŸãªãåœ¢ã§æå®ããªããã°ãªããŸãããå©äŸ¿æ§ã®ããã«ã time_ ãæå®ããŠé©åã«æŽåœ¢ã㊠from_ ã«è¿œå ãããããšãã§ããŸãã time_ ãæå®ããå Žåãããã¯
time.struct_timeã€ã³ã¹ã¿ã³ã¹ãtime.strftime()ã«æž¡ãã®ã«é©ããã¿ãã«ããŸãã¯True(ãã®å Žåtime.gmtime()ã䜿ããŸã) ã®ããããã§ãªããã°ãªããŸããã
- get_flags()¶
çŸåšã»ãããããŠãããã©ã°ãç¹å®ããæååãè¿ããŸããã¡ãã»ãŒãžãèŠå®ããã圢åŒã«æºæ ããŠãããªãã°ãçµæã¯æ¬¡ã®é ã«äžŠã¹ããã 0åã1åã®
'R'ã'O'ã'D'ã'F'ã'A'ã§ãã
- set_flags(flags)¶
flags ã§æå®ããããã©ã°ãã»ããããŠãä»ã®ãã©ã°ã¯äžãããŸããflags ã¯äžŠã¹ããããŒããŸãã¯1åã®
'R'ã'O'ã'D'ã'F'ã'A'ã§ãã
- add_flag(flag)¶
flag ã§æå®ããããã©ã°ãã»ããããŸããä»ã®ãã©ã°ã¯å€ããŸãããäžåºŠã«äºã€ä»¥äžã®ãã©ã°ãã»ããããããšã¯ãflag ã«2æå以äžã®æååãæå®ããã°ã§ããŸãã
- remove_flag(flag)¶
Unset the flag(s) specified by flag without changing other flags. To remove more than one flag at a time, flag may be a string of more than one character.
MMDFMessage ã€ã³ã¹ã¿ã³ã¹ã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã"From"è¡ã MaildirMessage ã€ã³ã¹ã¿ã³ã¹ã®é
ä¿¡æ¥ãããšã«çæããã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã° |
S ãã©ã° |
O ãã©ã° |
"cur" ãµããã£ã¬ã¯ã㪠|
D ãã©ã° |
T ãã©ã° |
F ãã©ã° |
F ãã©ã° |
A ãã©ã° |
R ãã©ã° |
 MMDFMessage ã€ã³ã¹ã¿ã³ã¹ã MHMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã°ããã³ O ãã©ã° |
"unseen" ã·ãŒã±ã³ã¹ç¡ã |
O ãã©ã° |
"unseen" ã·ãŒã±ã³ã¹ |
F ãã©ã° |
"flagged" ã·ãŒã±ã³ã¹ |
A ãã©ã° |
"replied" ã·ãŒã±ã³ã¹ |
MMDFMessage ã€ã³ã¹ã¿ã³ã¹ã BabylMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã以äžã®å€æãè¡ãããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã°ããã³ O ãã©ã° |
"unseen" ã©ãã«ç¡ã |
O ãã©ã° |
"unseen" ã©ãã« |
D ãã©ã° |
"deleted" ã©ãã« |
A ãã©ã° |
"answered" ã©ãã« |
MMDFMessage ã€ã³ã¹ã¿ã³ã¹ã mboxMessage ã€ã³ã¹ã¿ã³ã¹ã«åºã¥ããŠçæããããšãã"From"è¡ãã³ããŒãããå
šãŠã®ãã©ã°ãçŽæ¥å¯Ÿå¿ããŸã:
çµæã®ç¶æ |
|
|---|---|
R ãã©ã° |
R ãã©ã° |
O ãã©ã° |
O ãã©ã° |
D ãã©ã° |
D ãã©ã° |
F ãã©ã° |
F ãã©ã° |
A ãã©ã° |
A ãã©ã° |
äŸå€Â¶
mailbox ã¢ãžã¥ãŒã«ã§ã¯ä»¥äžã®äŸå€ã¯ã©ã¹ãå®çŸ©ãããŠããŸã:
- exception mailbox.Error¶
The base class for all other module-specific exceptions.
- exception mailbox.NoSuchMailboxError¶
ã¡ãŒã«ããã¯ã¹ããããšæã£ãŠãããèŠã€ãããªãã£ãå Žåã«éåºãããŸããããã¯ããšãã°
Mailboxã®ãµãã¯ã©ã¹ãååšããªããã¹ã§ã€ã³ã¹ã¿ã³ã¹åããããšãããšã(ã〠create ãã©ã¡ãŒã¿ã¯Falseã§ãã£ãå Žå)ããããã¯ååšããªããã©ã«ããéãããšããæãªã©ã«çºçããŸãã
- exception mailbox.NotEmptyError¶
ã¡ãŒã«ããã¯ã¹ã空ã§ããããšãæåŸ ãããŠãããšãã«ç©ºã§ãªãå Žåãããšãã°ã¡ãã»ãŒãžã®æ®ã£ãŠãããã©ã«ããåé€ããããšããæãªã©ã«éåºãããŸãã
- exception mailbox.ExternalClashError¶
Raised when some mailbox-related condition beyond the control of the program causes it to be unable to proceed, such as when failing to acquire a lock that another program already holds, or when a uniquely generated file name already exists.
䜿çšäŸÂ¶
ã¡ãŒã«ããã¯ã¹äžã®é¢çœãããªã¡ãã»ãŒãžã®ãµããžã§ã¯ããå šãŠå°åããç°¡åãªäŸ:
import mailbox
for message in mailbox.mbox('~/mbox'):
subject = message['subject'] # Could possibly be None.
if subject and 'python' in subject.lower():
print(subject)
Babyl ã¡ãŒã«ããã¯ã¹ãã MH ã¡ãŒã«ããã¯ã¹ãžå šãŠã®ã¡ãŒã«ãã³ããŒãã倿å¯èœãªå šãŠã®åœ¢åŒåºæã®æ å ±ã倿ãã:
import mailbox
destination = mailbox.MH('~/Mail')
destination.lock()
for message in mailbox.Babyl('~/RMAIL'):
destination.add(mailbox.MHMessage(message))
destination.flush()
destination.unlock()
ãã®äŸã¯å¹Ÿã€ãã®ã¡ãŒãªã³ã°ãªã¹ãã®ã¡ãŒã«ããœãŒããããã®ã§ããä»ã®ããã°ã©ã ãšå¹³è¡ããŠå€æŽãå ããããšã§ã¡ãŒã«ãç Žæããããããã°ã©ã ãäžæããããšã§ã¡ãŒã«ã倱ã£ãããã¯ããŸãå端ãªã¡ãã»ãŒãžãã¡ãŒã«ããã¯ã¹äžã«ããããšã§éäžã§çµäºããŠããŸãããšãã£ãããšãé¿ããããã«æ³šææ·±ãæ±ã£ãŠããŸã:
import mailbox
import email.errors
list_names = ('python-list', 'python-dev', 'python-bugs')
boxes = {name: mailbox.mbox('~/email/%s' % name) for name in list_names}
inbox = mailbox.Maildir('~/Maildir', factory=None)
for key in inbox.iterkeys():
try:
message = inbox[key]
except email.errors.MessageParseError:
continue # The message is malformed. Just leave it.
for name in list_names:
list_id = message['list-id']
if list_id and name in list_id:
# Get mailbox to use
box = boxes[name]
# Write copy to disk before removing original.
# If there's a crash, you might duplicate a message, but
# that's better than losing a message completely.
box.lock()
box.add(message)
box.flush()
box.unlock()
# Remove original message
inbox.lock()
inbox.discard(key)
inbox.flush()
inbox.unlock()
break # Found destination, so stop looking.
for box in boxes.itervalues():
box.close()