{"id":15429497,"url":"https://github.com/dfandrich/oldmailconvert","last_synced_at":"2025-10-12T12:18:39.863Z","repository":{"id":72310027,"uuid":"354896806","full_name":"dfandrich/oldmailconvert","owner":"dfandrich","description":"A set of scripts for converting mail from various historic mail formats into RFC822-style messages.","archived":false,"fork":false,"pushed_at":"2024-10-09T19:48:00.000Z","size":56,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-20T14:35:07.541Z","etag":null,"topics":["compuserve","conversion","e-mail","mainframe","mantes","rfc822","uucp","uupc"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfandrich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-05T16:22:32.000Z","updated_at":"2024-10-09T19:48:04.000Z","dependencies_parsed_at":"2023-03-13T20:19:11.398Z","dependency_job_id":"b5b1cd14-7026-41e2-b149-559a920f169a","html_url":"https://github.com/dfandrich/oldmailconvert","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"ebf5be0d44547873cc5f0bcfca3e47467b6cf76d"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfandrich%2Foldmailconvert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfandrich%2Foldmailconvert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfandrich%2Foldmailconvert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfandrich%2Foldmailconvert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfandrich","download_url":"https://codeload.github.com/dfandrich/oldmailconvert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243216156,"owners_count":20255325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compuserve","conversion","e-mail","mainframe","mantes","rfc822","uucp","uupc"],"created_at":"2024-10-01T18:10:55.217Z","updated_at":"2025-10-12T12:18:39.831Z","avatar_url":"https://github.com/dfandrich.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# oldmailconvert\n\nThis is a set of scripts for converting e-mail from various historic mail\nformats into RFC822-style messages.  These were written to convert some old\nmessage archives into an format suitable for indexing and reading using modern\ne-mail management software.\n\nThe output of each script is one of a number of possible formats, but each is\nsupported by modern software. The results can later be easily converted into\na consistent format if needed (see the *Other programs* section below).\n\n## Programs\n\n### adddate\n\nAdds a Date: line to an existing RFC822 message using the modification time of\nthe message file. The script takes a file name as an argument and writes the\nmodified message to stdout. If the message already has a Date: field, it is\nleft untouched.\n\nUsage:\n\n  adddate old.eml \u003e new.eml\n\n### compuservecvt\n\nConverts CompuServe messages. These consist of messages as logged in a terminal\nas they were displayed while using the remote message viewer.  A single message\nis passed in to stdin and the converted messages is written to stdout. One\ncommand-line parameter is mandatory: \"-t nnnnn,nnn\" which specifies the\nCompuServe user ID that received the message. This is so a To: line can be\nadded to the message, which otherwise would show no indication of the receiver.\n\nCompuServe was an early time-share and information system that began offering\naccess to the consumer public in 1979, and dominated the field in the 1980s\nbefore competitors like AOL entered and Internet access became publicly\navailable.\n\nUsage:\n\n  compuservecvt -t 77777,111 \u003c old.txt \u003e new.eml\n\n### maillogcvt\n\nConverts a big file with multiple mail messages into an MMDF mailbox. The file\nmay have been created by logging a mail reading session on a terminal, by\nmanually concatenating mail messages into a text file, or through some other ad\nhoc means.  This script is likely to need some modification for it to work in\nyour specific case.\n\nThe input file is just a text file with a bunch of e-mails concatenated,\nwith some standard headers (like To:, From:, Subject:) at the start of each\nmessage. It tries to detect forwarded messages and keep them attached to the\nright message, since forwarded with their headers can look like an entirely new\nmessage otherwise.  This is tricky business, and can easily go wrong. You may\nneed to add some of the headers found in your messages to the script in order\nfor it to split messages on the correct boundaries.\n\nEverything in the input is assumed to be part of a message and nothing is\nthrown out, which can result things that aren't messages in the output file or\nlines that aren't really part of an MMDF message (like \"From \" lines). GIGO.\nYou may need to iterate a few times on your input files to either tweak the\nscript or preprocess your input before finding a satisfactory result.\n\nUsage:\n\n  maillogcvt \u003c old.txt \u003e new.mmdf\n\n### mantescvt\n\nConverts MANTES messages.  The input to this program is expected to be a\nterminal log of a single message as displayed in MANTES with extraneous lines\nremoved.  A single message is passed in to stdin and the converted messages is\nwritten to stdout.\n\nMANTES was a file management system running on an IBM mainframe under MVS which\nwas used from the 1970s through the 2000s. It was developed at the University\nof Manitoba and used at a number of universities and companies in Canada and\naround the world.\n\nUsage:\n\n  mantescvt old.txt \u003e new.eml\n\n### uupccvt\n\nConverts a message mailbox created by UUPC/extended, which is a custom mailbox\nformat somewhat reminiscent of MMDF.  A single message mailbox is passed in to\nstdin and an mbox mailbox is written to stdout.  The normal \"From\" encoding is\nperformed on the body of messages when required, as it required by the mbox\nformat.\n\nUUPC/extended was a uucp package for MS-DOS systems developed in 1985. It\nprovided a uucp-style suite of programs for mail, USENET news and file transfer\nover dial-up modems that ran on DOS systems.\n\nUsage:\n\n  uupccvt \u003c old.mbo \u003e new.mbox\n\n## Installation\n\nThe latest source code can be obtained from\nhttps://github.com/dfandrich/oldmailconvert/\n\nThe scripts are written in a mix of Python and Bourne shell. They use some\nstandard POSIX utilities, but assume some of them have GNU extensions\navailable.\n\nBuild and install the latest release of code from Github with:\n\n  pip3 install https://glare.now.sh/dfandrich/oldmailconvert/tar\n\nThe regression test suite can be run with the command:\n\n  pytest\n\nor, if pytest is not installed:\n\n  python3 tests.py\n\nI've found some tests related to dates fail in one Python 3.8.14 environment\nbecause dateutil seems to improperly handle time zones in that version.\n\n## Other programs\n\nTo convert Fidonet messages, try my program dumpfidomsg\n(https://github.com/dfandrich/dumpfidomsg/)\n\nIf you're more interested in converting between the contemporary formats mbox,\nMMDF, Maildir and MH mail, one simple way is to use the Mutt mailer\n(http://mutt.org/), by reading from one style of mailbox, tagging all the\nmessages, then mass saving them all into an empty mailbox of the other style.\n\nA simple way of turning a plain RFC822 message into a mailbox is to pipe it to\nformail, which is part of procmail (https://www.procmail.org/).\n\n## Author\n\nDaniel Fandrich \u003cdan@coneharvesters.com\u003e\n\nThis program is Copyright (C) 2021–2025 Daniel Fandrich. It is distributed under the\nterms of the GNU General Public License as published by the Free Software\nFoundation; either version 2 of the License, or (at your option) any later\nversion.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfandrich%2Foldmailconvert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfandrich%2Foldmailconvert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfandrich%2Foldmailconvert/lists"}