1

私はAppleScriptをまったく知らないので、この質問に関して提供された助けに前もって感謝します。最新バージョンのOSXがインストールされたMacbookProラップトップを使用しています。私は2列のExcelスプレッドシートを持っています(それが簡単であれば数字を使用できます)。

FirstName        Email
------------     -----------------
Ken              blah@blah.com
Mike             blahblah@blahblah.com

これは私の顧客リストであり、私は彼らにメールを送りたいと思います。残念ながら、オートレスポンダーにはこのリストがないので、メールを1つずつ送信する必要があります。

PHPスクリプトを作成して電子メールを送信できることは知っていますが、この方法で送信すると、電子メールの配信可能性に問題があります。

スプレッドシートを一度に1行ずつ処理し、メッセージを送信するAppleScriptを作成したいと思います。メッセージは次のようになります。

Subject: How’s it going?

Hi Ken

It’s been a while since I sold you that defective widget from China. 
If you need more defective elctronics I’m here for you. Just give me 
a call at xxx-xxx-xxxx. 

Sincerely

Ken

AppleScriptは、スプレッドシートの1行から名前と電子メールアドレスを読み取り、標準のアップルメールプログラムを使用して、名前と電子メールアドレスを入力してこの電子メールを送信します。

メッセージを送信した後、スクリプトを60秒待機させます。次に、別のメールを送信します。

これは、空白行が検出されるまで発生する必要があります。

私の最初の質問…これは可能ですか?可能であればどうすればよいですか?

また、私がやろうとしていることを行うためのより良い方法はありますか?

ありがとう

4

2 に答える 2

2

もっと良い方法があるかもしれませんが、アドレスを TSV や CSV としてコピーすることはできませんか?

set addresses to "Ken;blah@blah.com
Mike;blahblah@blahblah.com"
set text item delimiters to ";"
repeat with l in paragraphs of addresses
    tell application "Mail"
        tell (make new outgoing message)
            set subject to "subject"
            set content to "Hi " & text item 1 of l & linefeed & linefeed & "..."
            make new to recipient at end of to recipients with properties {name:text item 1 of l, address:text item 2 of l}
            send
            delay (random number) * 100
        end tell
    end tell
end repeat
于 2013-03-13T14:01:22.850 に答える
1

試す:

set {firstName, eAddress} to getData()

repeat with i from 1 to count firstName
    tell application "Mail"
        activate
        set mymail to make new outgoing message at the beginning of outgoing messages with properties {subject:"How’s it going?"}
        tell mymail
            make new to recipient at beginning of to recipients with properties {address:item i of eAddress}

            set content to "Hi " & item i of firstName & "

It’s been a while since I sold you that defective widget from China. 
If you need more defective elctronics I’m here for you. Just give me 
a call at xxx-xxx-xxxx. 

Sincerely

Ken"
        end tell
        --show message window (otherwise it's hidden)
        set visible of mymail to true
        --bring Mail to front
        activate
        send mymail
    end tell
end repeat


on getData()
    set colA to {}
    set colB to {}
    tell application "Microsoft Excel"

        activate
        tell active sheet
            set lastRow to first row index of (get end (last cell of column 1) direction toward the top)

            repeat with i from 3 to lastRow
                set end of colA to (value of range ("A" & i))
                set end of colB to (value of range ("B" & i))
            end repeat
        end tell
    end tell

    return {colA, colB}
end getData
于 2013-03-13T16:05:37.150 に答える