2 votos

Ayuda con un simple correo electrónico script para OSX

Yo sería muy feliz si alguien me podía ayudar en la creación de un Applescript para enviar algunos correos electrónicos. He visto un par de ejemplos, pero no estoy seguro de que puedo adaptar a mis necesidades.

Tengo que enviar el mismo correo electrónico (sujeto y cuerpo), de una en una, a una lista de direcciones en una .archivo csv. Yo estoy usando el Correo de Apple 5.3 y OSX 10.7.5

Muchas gracias de antemano a cualquiera que esté dispuesto a ayudar.

He aquí lo que tengo hasta ahora.

    tell application "Mail"

    tell (make new outgoing message)
        set theAddress to "xxxx"
        make new to recipient at beginning of to recipients with properties {address:theAddress}
        set subject to "xxxx"
        set content to "xxxx"
        send
    end tell
end tell

Necesito establecer theAddress a la celda A1 en mi hoja de excel. Cómo hago para apuntar allí? Una vez que el correo electrónico se ha enviado necesito para que apunte a la celda A2... y así sucesivamente.

0voto

Jake Stewart Puntos 133

La forma más sencilla y rápida para hacer esto en otros idiomas sólo sería para colocar cada una de las columnas de excel en una lista (array) y, a continuación, tienen toda la cosa, en un bucle y se va a crear el correo electrónico rellene los datos y, a continuación, enviar el correo electrónico a continuación, volver al principio y empezar de nuevo con los valores de cada una de las matrices en [1] y así sucesivamente, desde allí, a través de su lista. No la mayoría de los profesionales o de forma eficiente, pero para sus fines de que iba a funcionar. Si usted puede implementar que, a continuación, seguir adelante. Si no voy a escribirlo cuando vuelvo a mi escritorio.

----editar----

He editado el primer script escrito en este post: http://stackoverflow.com/questions/15386794/applescript-for-sending-emails-from-a-list-in-excel

para lograr esta secuencia de comandos. Yo de código en java, sobre todo por lo que esto podría no ser perfecto, así que tal vez alguien puede venir y ajustarlo. OP debe ir a través de y entrar en sus propios valores para las cosas escritas en mayúsculas. También la hoja de excel debe estar en la forma en la que el OP de los vínculos de hoja de cálculo de excel en

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:"INSERT SUBJECT HERE"}
    tell mymail
        make new to recipient at beginning of to recipients with properties {address:item i of eAddress}
--The next line will start each email with Hi firstName and then carriage return to the text you fill in below

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

INSERT BODY OF EMAIL HERE"
    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    

0voto

Básicamente, usted necesita comenzar con la lectura del archivo XLS con AppleScript (y, a continuación, tell "Mail" para cada una de las direcciones que encuentre). Como un motor de arranque puede consultar

y su forma de trabajo a partir de ahí.

0voto

Yo uso esto para enviar call for papers. Envía lotes de 90 mensajes de correo electrónico en CCO a partir de una lista de 1000 mensajes de correo electrónico. Es un AppleScript.

set title to "Call for papers conference XXX"
set body to read "/Users/ber/Desktop/bod_of_email.txt" as «class utf8»
set addresses to read "/Users/ber/Desktop/mail/email_list_one_email_per_row.txt" as «class utf8»
set bccRecipients to {}
set c to 0

repeat with e in paragraphs of addresses
    if length of e is greater than 10 then
            copy e to the end of the bccRecipients
        set c to c + 1
        if c = 90 then
            tell application "Mail"
                activate
                tell (make new outgoing message)
                    set visible to true
                    make new recipient at end of to recipients with properties {address:"conference@chair.com"}
                    repeat with thisRecipient in bccRecipients as list
                        make new bcc recipient at end of bcc recipients with properties {address:thisRecipient}
                    end repeat
                    set subject to title
                    set content to body
                    send
                    delay 3
                end tell
            end tell
            set bccRecipients to {}
            set c to 0
        end if
    end if
end repeat

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X