Mac OS: Automator-script para salvar e-mails em pastas geradas automaticamente

1

Estou pesquisando o automator e preciso dele para me ajudar com a seguinte tarefa simples:

Eu preciso dos anexos de várias mensagens, que são classificadas em uma pasta no Mail, baixadas e salvas em pastas nomeadas pelo endereço de e-mail do remetente.

Se possível, eu gostaria de uma transcrição do e-mail salvo junto com os anexos (poderia ser feito imprimindo um pdf?)

Eu nunca realmente usei o automator, mas atualmente eu configurei uma ação para "Obter Itens de Correio Especificados", que está conectada à pasta certa no correio e configurei um "Obter anexos da mensagem de email", mas Preciso descobrir como nomear as pastas pelos nomes dos remetentes e como salvá-las nessas pastas.

    
por funkylaundry 04.11.2011 / 12:55

1 resposta

0

Provavelmente, é melhor usar o Applescript ou algo semelhante que lhe permita ter mais controle sobre a manipulação das propriedades das mensagens individuais.

EDIT: Levou muito mais tentativa e erro do que eu pensava que seria, mas você deve ser capaz de selecionar um lote de mensagens, executar este script e fazer cuspir pastas para cada remetente em qualquer pasta que você especificar no início. Não faz logging, mas talvez seja o suficiente para você começar.

Também observarei que o comando save [attachment] in [attachmentPath] está quebrado no Lion em 10.7 e 10.7.1 (acho que ambos), mas parece ser corrigido em 10.7.2, com base no que eu tenho lido. Então YMMV se você não estiver executando 10.7.2.

EDITAR Novamente: Mais revisões ... agora não criaremos pastas para mensagens que não tenham anexos ...

tell application "Mail"
    set selectedMessages to selection

    set destinationFolder to choose folder with prompt "Pick a Destination"

    repeat with currentMessage in selectedMessages
        repeat 1 times
            set msgSender to sender of currentMessage
            set msgAttachments to mail attachments of currentMessage
            if (msgAttachments is equal to {}) then
                exit repeat
            end if
            tell application "Finder"
                if not (exists folder msgSender of destinationFolder) then
                    set senderFolder to (make new folder at destinationFolder with properties {name:msgSender})
                else
                    set senderFolder to (folder msgSender of destinationFolder)
                end if
            end tell

            repeat with currentAttachment in msgAttachments
                if (downloaded of currentAttachment is true) then
                    set currentAttachmentPath to (senderFolder as string) & (name of currentAttachment)
                    save currentAttachment in currentAttachmentPath
                end if
            end repeat
        end repeat
    end repeat

end tell
    
por 04.11.2011 / 15:55