AppleScript /メールの自動化タスク


7

私は同僚が彼が送る毎週の電子メール編集を自動化するのを手助けしようとしていましたが、まだいくつかの特定の分野にどのように対処するかを理解することができませんでした。

状況: それぞれのチームが何に取り組んできたか(そしてどのような進歩があったか)そして毎週予定されているものに関して毎週数人の特定の従業員(マネージャー)から情報を集める火曜日)。それで彼は彼ら全員に非常に単純なフォーマットを使うように頼みました(あいさつも挨拶もなし、彼らが報告しなければならない実際の内容以外は何も)。月曜日の夜/火曜日の朝にそれぞれのメールが届くと、手動でそれぞれのテキストをコピーし、それを一度に1つずつ別のメールに貼り付けます。この新しい包括的な電子メールを受け取ったら、彼はそれを上司に送信します。 (記録としては、これを行うには無数のより良い方法があり、それは笑えるということを完全に理解しています...しかしそれは私の戦いではなく、彼がそうするように指示された方法です。彼)

ゴール: 特定の電子メールが指定されたボックスに移動されるようにすでにルールを設定しています(これにより、スクリプト/自動化の正しいメッセージを簡単に識別できるようになると思います)。新しい単一のメッセージを作成して上司に送信すると、問題が発生します。

コピー用のスクリプト、貼り付け用のスクリプト、そして(古いバージョンのOS xでは10.6かもしれませんが)選択されたメッセージのテキストを1つの新しいメッセージにまとめたAutomatorのアクションさえ見つけました。残念ながら、最近のバージョンのOS(具体的には10.8と10.9)では動作しません。

だから質問は: 特定のグループのEメールのメッセージ本文をコピーして、すべてのテキストを1つの新規Eメールに貼り付けることを自動化し、それに応じてアドレス指定して送信することは可能ですか。目標は、この男が火曜日の午前中に自分のコンピュータに座り、問題のEメールを選択し(正しいメッセージが自動的に選択されるようにスクリプトを作成する方法がない限り)、そしてスクリプト/サービス/アプリケーションを実行することです。アイコン、どちらも私が扱うことができます)とw /それが行われますか?

回答:


10

これは確かにAppleScriptで可能です。ここにあなたがあなたの理想的なスクリプトを作り上げるのを助けるためのいくつかのリソースと断片があります。

最後のAppleScriptは選択された電子メールの内容を結合し、送信の準備ができた送信電子メールを準備します。このAppleScriptをAutomatorワークフローに埋め込むことも、ダブルクリック用のアプリケーションとして保存することもできます。

選択したメッセージの内容を取得する

から 自動スパムコップ

set raw to {}
tell application "Mail"
    set msgs to selection
    if length of msgs is not 0 then
        repeat with msg in msgs
            set messageSource to source of msg
            set raw to raw & messageSource
            set background color of msg to gray     
        end repeat
    end if
end tell

AppleScriptで電子メールを送信する

から AppleScriptを使用してEメールを送信する

set recipientName to "WhiteHat"
set recipientAddress to "someemail@here.com"
set theSubject to "Type your subject here!"
set theContent to "Type your message content here!"

tell application "Mail"

        ##Create the message
        set theMessage to make new outgoing message with properties {subject:theSubject, content:theContent, visible:true}

        ##Set a recipient
        tell theMessage
                make new to recipient with properties {name:recipientName, address:recipientAddress}

                ##Send the Message
                send

        end tell
end tell

結合、作成、および送信

上記の2つのコードを組み合わせると、次のAppleScriptが得られます。

set recipientName to "The Boss"
set recipientAddress to "boss@example.com"
set theSubject to "Type your subject here!"

set theCombinedContent to ""
tell application "Mail"
    set msgs to selection
    if length of msgs is not 0 then
        repeat with msg in msgs
            set theCombinedContent to theCombinedContent & (content of msg)
            -- set background color of msg to gray
        end repeat

        set theMessage to make new outgoing message with properties {subject:theSubject, content:theCombinedContent, visible:true}

        tell theMessage
            make new to recipient with properties {name:recipientName, address:recipientAddress}

            -- Uncomment line below to automatically send
            -- send

        end tell

    end if

end tell

2
tell application "Mail"

  set theSubject to "Subject" -- the subject
  set theContent to "Content" -- the content
  set theAddress to "xxx@163.com" -- the receiver 
  set theSignatureName to "signature_name"-- the signature name
  set theAttachmentFile to "Macintosh HD:Users:moligaloo:Downloads:attachment.pdf" -- the attachment path

  set msg to make new outgoing message with properties {subject: theSubject, content: theContent, visible:true}

  tell msg to make new to recipient at end of every to recipient with properties {address:theAddress}
  tell msg to make new attachment with properties {file name:theAttachmentFile as alias}

  set message signature of msg to signature theSignatureName

  send msg
end tell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.