【问题标题】:Send email from clipboard without opening mail.app -- with conditions在不打开 mail.app 的情况下从剪贴板发送电子邮件 - 有条件
【发布时间】:2013-12-25 13:34:05
【问题描述】:

我问了Send email from clipboard without opening mail.app的问题并得到了代码

set a to "myemail@mail.com"
tell application "Mail"
    tell (make new outgoing message)
        set subject to (the clipboard)
        set content to "content"
        make new to recipient at end of to recipients with properties {address:a}
        send
    end tell
end tell

现在我想知道,我怎么能有一个脚本来做同样的事情,但是这样修改它:如果主题是前 10 个单词,并且如果剪贴板超过 10 个单词,那么剪贴板被切断了。例如像这样“你好宝贝这是一个长消息发送... [见注释]”然后整个消息(即“你好宝贝这个是与我的新电子邮件一起发送的长消息,再见。”)在电子邮件的内容中。

【问题讨论】:

    标签: macos applescript


    【解决方案1】:

    将脚本中的set subject ...set content ... 行替换为以下内容:

    如果((剪贴板)的字数)大于 10 则 将 oldDelims 设置为 AppleScript 的文本项分隔符 将 AppleScript 的文本项分隔符设置为“” 将主题设置为 (((剪贴板) 的第 1 到 10 个单词) & "... [see notes]") 作为文本 将 AppleScript 的文本项分隔符设置为 oldDelims 将内容设置为(剪贴板) 别的 设置主题(剪贴板) 将内容设置为“内容” 万一

    参考链接:


    @adayzdone 有一个好处 - 有时使用 words of 将字符串拆分为列表,然后使用 text item delimiters 重新组装可能会弄乱输入数据。你可以这样做:

    将 oldDelims 设置为 AppleScript 的文本项分隔符 将 AppleScript 的文本项分隔符设置为“” 将 cblist 设置为(剪贴板)的文本项 将 AppleScript 的文本项分隔符设置为 oldDelims 如果(cblist 的计数)大于 10,则 将 oldDelims 设置为 AppleScript 的文本项分隔符 将 AppleScript 的文本项分隔符设置为“” 将主题设置为 ((cblist 的项目 1 到 10) & "... [see notes]") 作为文本 将 AppleScript 的文本项分隔符设置为 oldDelims 将内容设置为(剪贴板) 别的 设置主题(剪贴板) 将内容设置为“内容” 万一

    【讨论】:

    • 您不需要使用文本项分隔符。
    • @adayzdone - 为什么不呢?如果我强制 (words of <xyz>) as text 而不将分隔符设置为“”,那么单词将连接起来,中间没有任何空格。
    • 我读得太快了。虽然我明白你为什么使用 tid,但你的脚本会遇到诸如“请将一些 $$$ 连接到 1-212-555-3333”这样的主题
    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2021-10-08
    • 2017-01-28
    相关资源
    最近更新 更多