我有一个AppleScript应用程序,它使用通过对话框选择的选项创建电子邮件(在Mail.app中)。文本模板以.rtf
格式存储,非编程人员可以根据自己的意愿更改文本模板。使用AppleScript将.rtf文本复制到电子邮件正文
我能够从一个.txt
纯文本文件创建一个电子邮件,但是当我导入.rtf
文本文件,它进口的格式化命令,这是我不希望的邮件。
这里是到电子邮件一个.rtf
进口的一个示例:
{\ RTF1 \ ANSI \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf360 {\ fonttbl \ F0 \ fswiss \ fcharset0黑体光强;} { \ colortbl; \ red255 \ green255 \ blue255;} \ PARD \ tx560 \ tx1120 \ tx1680 \ tx2240 \ tx2800 \ tx3360 \ tx3920 \ tx4480 \ tx5040 \ tx5600 \ tx6160 \ tx6720 \ QL \ qnatural \ pardirnatural
\ F0 \ fs24 \ cf0技术邮件给英语人士\
这里是我的脚本的一部分:
-- 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
文件导入格式的文本到一个新的邮件,而格式代码(我选择RTF,因为大多是大胆的颜色是用来格式化文本) ?
很好的 - 我没有意识到没有记录的“html内容”(很好地提醒人们应该总是检查对象属性而不是依赖字典)。但是有两点意见:设置'visible:false'并不是必需的 - 忽略该属性也会起作用(除了'visible:true'外,任何人都会怀疑);并且使用'tiny -bare'将不会很好地处理ASCII范围以外的字符 - 除了退出非零(这会错误执行shell脚本),它会让您留下臭名昭着的“förmatting”版本的UTF -8文本。使用'tiny -raw'或'tiny -utf8'会得到更好的结果。 – kopischke
感谢您的评论kopischke。我已经更新了代码以使用您对整洁的建议。这是一个不错的和必要的改进。 – regulus6633
在原始源代码视图中检查了邮件,发现“Content-Type:text/html”,所以是的,你在正确的地方将丰富的文本结尾为HTML。我硬编码了一个rtf文件的路径并删除了发送命令,因为我的用户必须能够在发送前最后一次检查邮件。我现在面临的问题是邮件在没有内容的情况下出现。你知道如何让内容出现在身体中吗? – elhombre