У меня есть приложение AppleScript, которое создает письмо (в Mail.app) с вложениями из опций, которые я выбираю через диалоговые окна. Текстовые шаблоны хранятся в формате .rtf
, поэтому не-программисты могут изменять шаблоны текста по их пожеланиям.Копирование текста .rtf в тело письма с помощью AppleScript
Я могу создать письмо из текстового файла .txt
, но когда я импортирую текстовый файл .rtf
, он импортирует команды форматирования, которые мне не нужны в почте.
Вот пример .rtf
импорта в электронную почту:
{\ rtf1 \ ANSI \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf360 {\ fonttbl \ f0 \ fswiss \ fcharset0 Helvetica-Light;} { \ colortbl; \ red255 \ green255 \ blue255;} \ пард \ tx560 \ tx1120 \ tx1680 \ tx2240 \ tx2800 \ tx3360 \ tx3920 \ tx4480 \ tx5040 \ tx5600 \ tx6160 \ tx6720 \ QL \ qnatural \ pardirnatural
\ f0 \ fs24 \ cf0 технология mail для английского языка \
Вот часть моего сценария:
-- Import the .rtf file and store content in the mycontent variable
set mycontent to (read "/Users/kiara/Desktop/mailer/technology/tech-en-content.rtf")
…
…
-- create mail from values stored in variables
tell application "Mail"
set theMessage to make new outgoing message with properties {visible:true, subject:mysubject, content:mycontent}
tell content of theMessage
make new attachment with properties {file name:this_file} at after last paragraph
end tell
end tell
Можно ли импортировать форматированный текст из .rtf
файлов в новую почту без кодов форматирования (я выбираю РТФ, потому что в основном жирный шрифт и цвет, используется для форматирования текста) ?
Хорошо один - я не знал о недокументированном «html-контенте» (хорошее напоминание всегда должно проверять свойства объекта, а не полагаться на словарь). Тем не менее, два замечания: установка «visible: false» не требуется - исключение этого свойства будет работать (ничего, кроме «visible: true», один подозревается); и использование 'tiny -bare' не будет обрабатывать символы вне диапазона ASCII изящно - помимо выхода из ненулевого (что приведет к ошибке« make shell script »), это оставляет вам печально известные« förmattingâ € | »версии UTF -8 текст. Использование 'tiny -raw' или' tiny -utf8' даст лучшие результаты. – kopischke
Спасибо за комментарии копишке. Я обновил код, чтобы использовать ваши предложения относительно аккуратности. Это хорошее и необходимое улучшение. – regulus6633
Проверял почту в исходном виде и нашел «Content-Type: text/html», так что да, где правильно, с богатым текстом, заканчивающимся как HTML. Я жестко закодировал путь к файлу rtf и удалил команду send, потому что мои пользователи должны иметь возможность проверять почту в последний раз перед отправкой. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что почта появляется без содержимого в теле. Вы знаете, как сделать контент в теле? – elhombre