2011-10-15 3 views
0

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

ответ

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 

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

+0

спасибо. Он отлично работает на дату. Но с предметом есть проблема. Я получаю длинную строку для нее, и в конце есть «Subject: =» и длинная цепочка случайных букв. Как я могу заставить его работать? –

+0

Этот скрипт работает над моим тестовым файлом, если вы хотите, чтобы он обрабатывал более широкий спектр электронных писем, я могу посмотреть на то, где он терпит неудачу. Просто сделайте (сделайте shell-скрипт «cat /test.eml | grep Subject:») и посмотрите, что это дает вам. –

Смежные вопросы