'mRpostman' 1.4.0 is on CRAN
mRpostman 1.4.0 is on CRAN
A new version of my R package mRpostman landed on CRAN. It is the most important update to the package since I rebuilt it around an R6 object-oriented structure back in September 2020. This version incorporates several intermediate updates that were only available on GitHub in the previous weeks.
Some context
I released mRpostman in 2019, and of all the packages I have published, it was the one that caught the most attention from the R community (it even got a retweet from Hadley Wickham at the time). The reason is simple: e-mail is a rich source of data that usually sits out of reach, behind IMAP servers. mRpostman turns MIME content into plain text you can actually analyze.
What is new
The package now implements the full functionality of the IMAP4rev1 protocol from within R, including commands that were missing until recently, such as APPEND, STATUS and CLOSE, plus a set of capability-checked extensions such as SORT, THREAD, MOVE and QUOTA.
Decoding grew up with it: message headers and bodies now honor the character set declared in the message, so mail in Russian, Greek, Japanese, Chinese or any other charset that iconv supports comes out as readable text instead of gibberish. Searching accepts non-ASCII terms as well, sent to the server as UTF-8.
Reproducibility
Reproducibility was another thing that bothered me all these years: you needed a real mail account to try any of it, and no two mailboxes are alike. This release fixes that. The package now ships a small disposable IMAP server (Dovecot, via Docker) plus a synthetic corpus generator with known properties: dates, sizes, encodings, attachments, reply chains. populate_sandbox() loads it all through the package’s own APPEND implementation, so you can test and learn every feature locally, against exact ground truth. There is a new vignette to help users with that.
And since the sandbox can hold real data too, 1.4.0 adds enron_sandbox(), which downloads the public Enron corpus from 2001, filters by custodian and date, and ingests it into the local Dovecot server. From there, you can score sentiment over time, map who was writing to whom, or run whatever text mining you have in mind. Underneath it sits ingest_maildir(), a general function that uploads any maildir archive to any IMAP folder.
install.packages("mRpostman")
- Official website: https://allanvc.github.io/mRpostman
- Sandbox vignette: https://allanvc.github.io/mRpostman/articles/sandbox.html
- CRAN version: https://cran.r-project.org/package=mRpostman
- Dev version: https://github.com/allanvc/mRpostman
Enjoy Reading This Article?
Here are some more articles you might like to read next:
- 'treeSS' - Tree-spatial scan statistics in R
- QFRA 2026 in Zakynthos - Distribution-Based Algorithms for Pairs Trading
- ECIS 2026 in Milan - Spatiotemporal Patterns of Chronic Care Delivery
- A Bayesian approach to distribution-based signals in pairs trading
- A collaboration in food science - xylanases and bread quality in the Journal of Food Science
- Presenting at the SIAM Conference on Financial Mathematics and Engineering (FM25)
- A tree-spatial scan statistic - new paper in Environmental and Ecological Statistics
- GSC Award for Excellence in Teaching at K-State
- 'mRpostman: An IMAP Client for R' published in the Journal of Open Research Software
- William L. Stamey Teaching Award