У меня есть резервные копии электронных писем, которые я скачал со старого сервера под управлением Exim. Я могу открыть все файлы в текстовом редакторе и прочитать их содержимое в стандартном формате RFC 822.

Имена файлов выглядят так:

1284775865.H451571P15783.pre.press-themes.com,S=840363/2,S

В конечном итоге мне нужно импортировать их в аккаунт Google Apps. Это бесплатная учетная запись, поэтому я не могу использовать метод API приложений Python, который работал бы, если бы я добавил расширение .txt. У Google есть Mac Email Uploader, но для этого требуется, чтобы адрес электронной почты был одним из следующих:

  • Apple Mail: ~/ Библиотека / Почта
  • Eudora: ~/ Eudora Folder -Thunderbird: ~/ Библиотека / Thunderbird

Когда я пытаюсь импортировать сообщения в Apple Mail или Thunderbird, они не распознаются. Я попытался добавить расширение файла .mbox и расширение файла .txt. Я также запустил этот скрипт bash, но он преобразовал их все в один большой файл с расширением .mbox, который не может быть прочитан ни одним из клиентов.

#!/bin/bash
if [ $# == 0 ]; then
echo usage ${0##*/} FolderName
exit 0
fi

for file in `find "$1" -type f`; do
   mbx="${file%/*}.mbox"
   mbx="${mbx//\//_}"
   cat "$file" | formail >> "$mbx"
    done

1 ответ1

1

Согласно странице, на которую вы ссылаетесь,

Google Email Uploader для Mac - это служебная программа для Mac OS X, которая загружает архивы электронной почты из Apple Mail, Eudora, Thunderbird и экспортированную почту Entourage (вместе с другими архивами mbox и Maildir) в ваш почтовый ящик Служб Google.

У вас есть Maildir, но из вашего приведенного примера кажется, что имена были искажены во время передачи: суффикс 2,S должен разделяться символом : (или ; в некоторых системах), а не символом / .

Вывод вашего сценария конвертации в mbox также должен приниматься непосредственно Uploader.

dir="${1%/}"
mbox="$dir.mbox"
find "$dir" -type f | while read name; do
    formail < "$name" >> "$mbox"
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .