AppleScript - получить информацию о файле .eml

Я пишу AppleScript для резервного копирования всех моих электронных писем. Многие электронные письма я уже сохранил в виде файлов .eml на локальном жестком диске и удалил их с сервера. Есть ли способ загрузить файлы .eml с помощью AppleScript как сообщение, чтобы получить дату отправки, тему и т. д.?


person Paul Warkentin    schedule 15.10.2011    source источник


Ответы (1)


Как насчет такого:

set fromField to text 7 thru -1 of (do shell script "cat /test.eml | grep From:")
set dateField to text 7 thru -1 of (do shell script "cat test.eml | grep Date:")
set toField to text 5 thru -1 of (do shell script "cat /test.eml | grep To:")
set subjectField to text 10 thru -1 of (do shell script "cat /test.eml | grep Subject:")

С телом немного сложнее, так как вам нужно решить, хотите ли вы только тело электронного письма или также все предыдущие электронные письма, которые встроены в тело. Следующее получает тело моего тестового письма.

set temp to do shell script "cat /test.eml"
set text item delimiters to "--"

set temp2 to (text item 3 of temp)
set text item delimiters to "
"
set messageField to paragraphs 6 thru -1 of temp2 as text

Убедитесь, что вы следите за кодировкой файла, если вы используете другие символы.

person Kassym Dorsel    schedule 15.10.2011
comment
Спасибо большое. На дату работает нормально. А вот с темой есть проблема. Я получаю для этого длинную строку, а в конце Тема: = и длинная цепочка случайных букв. Как я мог заставить его работать? - person Paul Warkentin; 16.10.2011
comment
Этот скрипт работает с моим тестовым файлом, если вы хотите, чтобы я заставил его обрабатывать более широкий спектр электронных писем, я могу посмотреть тот, где он не работает. Просто сделайте (выполните сценарий оболочки cat /test.eml | grep Subject:) и посмотрите, что это вам даст. - person Kassym Dorsel; 16.10.2011