AppleScript / Automatizza le attività di posta

7

Ho cercato di aiutare un collaboratore ad automatizzare una compilazione settimanale via email che ha inviato ma non sono ancora riuscito a capire come indirizzo alcune aree specifiche ... prima spiegherò la situazione, poi l'obiettivo .

Situazione: Il project manager al lavoro è stato incaricato di raccogliere informazioni da diversi dipendenti specifici (manager) ogni settimana riguardo a ciò su cui i rispettivi team hanno lavorato (e quali progressi sono stati fatti) e sono programmati per la settimana successiva (tutta questa impresa accade ogni Martedì). Quindi ha chiesto a tutti loro di utilizzare un formato molto semplice (nessun saluto, nessun saluto, nient'altro che il contenuto effettivo che devono segnalare). Una volta che ognuna di queste e-mail arriva lunedì sera / martedì mattina, copia manualmente il testo da ognuna di esse e poi lo incolla in un'altra e-mail una alla volta, componendo così una e-mail con tutto il contenuto di ognuna delle altre. Una volta che ha questa nuova email all-inclusive, la invia al suo supervisore. (Per la cronaca capisco perfettamente che ci sono innumerevoli modi migliori per fare questo e che è ridicolo ... ma non è la mia battaglia ed è così che gli è stato detto di farlo, quindi sto solo cercando di renderlo più facile lo.)

Obiettivo: Ho già impostato le regole in modo che le e-mail specifiche vengano spostate in una casella designata (pensando che ciò renderebbe più facile identificare i messaggi corretti per lo script / l'automazione) e il mio prossimo passo è stato automatizzare le ... regole di confronto di questi messaggi e creare e inviare il nuovo singolo messaggio al capo ... ed è lì che le cose si sono bloccate.

Ho trovato script per la copia, script per incollare e (su una versione precedente di OS x, 10.6 forse) ho persino trovato un'azione in Automator che ha compilato il testo dei messaggi selezionati (in Mail) in un nuovo messaggio. ... ma purtroppo non funzionerà su versioni più moderne del sistema operativo (in particolare 10.8 e 10.9).

Quindi le domande sono: È possibile, e in tal caso, automatizzare la copia del corpo del messaggio di un gruppo specifico di e-mail e incollare tutto il testo in una nuova e-mail e farlo indirizzare di conseguenza e inviato? L'obiettivo è che questo ragazzo si sieda al suo computer martedì mattina, seleziona le email in questione (a meno che non ci sia un modo per scriverlo in modo che i messaggi corretti vengano selezionati automaticamente) quindi esegui lo script / servizio / applicazione (tramite scorciatoia da tastiera o dock icona, entrambi i quali posso gestire) ed essere fatto senza?

    
posta TheWARDen 28.03.2014 - 14:30
fonte

2 risposte

10

Questo è certamente possibile con AppleScript. Ecco alcune risorse e snippet per aiutarti a creare il tuo script ideale.

L'ultimo AppleScript combina il contenuto di qualsiasi e-mail selezionata e prepara una e-mail in uscita pronta per l'invio. Puoi incorporare questo AppleScript all'interno di un flusso di lavoro di Automator o salvarlo come applicazione per fare doppio clic.

Ottenere il contenuto dei messaggi selezionati

Da Automazione di Spamcop :

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

Invio di e-mail con AppleScript

Da Invia email usando Applescript :

set recipientName to "WhiteHat"
set recipientAddress to "[email protected]"
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

Combina, crea e invia

La combinazione dei due frammenti sopra fornisce il seguente AppleScript:

set recipientName to "The Boss"
set recipientAddress to "[email protected]"
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
    
risposta data 28.03.2014 - 15:38
fonte
2
tell application "Mail"

  set theSubject to "Subject" -- the subject
  set theContent to "Content" -- the content
  set theAddress to "[email protected]" -- 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
    
risposta data 16.02.2015 - 19:53
fonte

Leggi altre domande sui tag