AppleScript的;将HTML .rtf文件复制到电子邮件正文中

时间:2014-09-20 22:31:46

标签: html email applescript

我想要做的是与下面的链接

完全相同
set the clipboard to (read "/Users/kiara/Desktop/mailer/technology/tech-en-content.rtf" as «class RTF »)

tell application "Mail"
    activate
    set theMessage to make new outgoing message with properties {visible:true, subject:"mysubject"}
end tell

tell application "System Events"
    tell process "Mail"
        repeat until focused of UI element 1 of scroll area 4 of window 1
            keystroke tab
        end repeat
        keystroke "v" using command down
    end tell
end tell

参考文献:Copying .rtf text into the body of an email with AppleScript

但它不适用于我的Mac条件OS X Mavericks

请有人给我如何用AppleScript撰写HTML电子邮件。

干杯,

1 个答案:

答案 0 :(得分:1)

您尝试做的事情不会奏效。无论您粘贴到电子邮件中的是什么都粘贴为文本。它只是不起作用。你可以尝试但它不会起作用。你遇到麻烦的原因是它的滚动区域1和#34;在最新版本的Mail中,而不是4。

但有一种方法可行。邮件有一些名为" html内容"。因此,如果您有HTML代码,那么您可以设置" html内容"该html代码的消息。但是有一点需要注意。这似乎是一个错误,但如果您设置了消息的html内容,那么由于某种原因您无法看到它。你可以发送它,它将正常工作......但你无法看到它。因此,我通常将消息的可见性设置为false,然后使用applescript发送它。

无论如何,由于你有一个rtf文件,你需要使用命令行工具" textutil"将rtf转换为html代码,以便将html放入消息中。

试试这个。首先设置接收器和主题。祝你好运。

set rtfFile to "/Users/kiara/Desktop/mailer/technology/tech-en-content.rtf"
set receiver to "somebody@email.com"
set theSubject to "This is the subject"

set htmlCode to do shell script "/usr/bin/textutil -stdout -format rtf -convert html " & quoted form of rtfFile

tell application "Mail"
    set newMessage to make new outgoing message at end of outgoing messages with properties {visible:false}
    tell newMessage
        make new to recipient at end of to recipients with properties {address:receiver}
        set subject to theSubject
        set html content to htmlCode
        delay 0.5
        send
    end tell
end tell