Automator - invia file per email (dal nome del file)

3

Sto tentando di creare un'azione della cartella Automator che invia un'email con un file allegato.

Nella mia cartella i file verranno generati con l'e-mail come nome: Esempio: [email protected], [email protected] e così via.

Ciò di cui ho bisogno è un'azione che copi il nome del file, rimuovi l'estensione (.jpg), crei una email e inserisca il nome file / email nel campo "A" e poi invii l'email.

Sono pronto per tutti con una versione funzionante in cui il file è allegato all'e-mail e il contenuto dell'e-mail è compilato. Ma non riesco a trovare una soluzione per copiare il nome del file e specificarlo all'indirizzo "A".

Spero che qualcuno là fuori possa aiutarmi: -)

    
posta Stefan Johannsen 04.03.2013 - 12:57
fonte

1 risposta

3

Ho provato con Automator senza eseguire il looping dei file rilasciati.

Ecco uno script azione cartella che fa ciò che vuoi e come collegarlo a una cartella:

1. Apri l'editor di AppleScript

2. Incolla il seguente script in un nuovo documento

property mail_subject : "An image for you"
property mail_plain_content : "Attached you will the image you required." & return & return & "Best Regards" & return & "Automator"
property mail_html_content : "Attached you will the image you required.<br><br>Best Regards<br>Automator"

on adding folder items to this_folder after receiving these_items
    processItems(these_items)
end adding folder items to

on processItems(these_items)
    repeat with i from 1 to (count of these_items)
        set this_item to item i of these_items
        if isFolder(this_item) then
            processItems(getFolderItems(this_item))
        else
            processFile(this_item)
        end if
    end repeat
end processItems

on processFile(this_file)
    set mail_address to RemoveExtension(getFileName(this_file))
    tell application "Microsoft Outlook"
        set newMessage to make new outgoing message with properties {subject:mail_subject, plain text content:mail_plain_content, content:mail_html_content}
        tell newMessage
            make new recipient with properties {email address:{address:mail_address}}
            make new attachment with properties {file:this_file as alias}
            send
        end tell
        activate
    end tell
end processFile

on isFolder(this_item)
    tell application "System Events" to return (exists folder (this_item as string))
end isFolder

on RemoveExtension(this_name)
    -- This function comes from :
    -- http://www.macosxautomation.com/applescript/sbrt/index.html
    if this_name contains "." then
        set this_name to (the reverse of every character of this_name) as string
        set dot_offset to the offset of "." in this_name
        set this_name to (text (dot_offset + 1) thru -1 of this_name)
        set this_name to (the reverse of every character of this_name) as string
    end if
    return this_name
end RemoveExtension

on getExtension(this_name)
    if this_name contains "." then
        set this_name to (the reverse of every character of this_name) as string
        set dot_offset to the offset of "." in this_name
        set this_name to (text 1 thru (dot_offset - 1) of this_name)
        set this_name to (the reverse of every character of this_name) as string
        return this_name
    else
        return ""
    end if
end getExtension

on getFileName(this_file)
    tell application "Finder" to return name of this_file
end getFileName

on getFolderItems(this_folder)
    tell application "Finder" to return items of this_folder
end getFolderItems

3. Salvalo nella cartella ~ / Libreria / Script / Script di azioni cartella

Menu File > Salva

Vai alla cartella destra: premi cmd + G e incolla:
~ / Library / Scripts / Script di azioni cartella
e fai clic su Vai

Salva come: Immagine - Email usando il nome come address.scpt (ad esempio)
Formato: Script

4. Crea una nuova cartella che verrà guardata per gli elementi aggiunti

5. Associa lo script alla cartella

Nel Finder, fai clic con il tasto destro sulla cartella, quindi seleziona Servizi > Impostazione azioni cartella Seleziona il nuovo Immagine - Email usando il nome come address.scpt script

Il gioco è fatto, rilascia un file il cui nome è un indirizzo, la posta verrà inviata.

    
risposta data 07.03.2013 - 17:33
fonte

Leggi altre domande sui tag