#!/bin/sh # mailcp - copy/convert mail storages using fdm(1) # NB. should work with spaces in file names, but not with fancy " or \. if [ $# -lt 2 ]; then echo 1>&2 "Usage: mailcp [mboxes...|maildir/...] [mboxfile|maildir/]" exit 1 fi { echo 'set no-received' if [ -d "$1" ] && [ -d "$1/cur" ]; then echo 'account "mailcp" maildirs {' else echo 'account "mailcp" mboxes {' fi while [ $# -gt 1 ]; do printf '"%s"\n' "$1" shift done echo '}' if [ -d "$1" ] || expr "$1" : '.*/$' >/dev/null; then printf 'match all action maildir "%s"\n' "$1" else printf 'match all action mbox "%s"\n' "$1" fi } | fdm -k -m -f /dev/stdin fetch