Automator -> enviar archivo a correo electrónico (desde nombre de archivo)

Estoy tratando de crear una acción de carpeta de Automator que envíe un correo electrónico con un archivo adjunto.

En mi carpeta se generarán los archivos con el correo electrónico como nombre: Ejemplo: nombre@empresa.com.jpg, otronombre@otraempresa.com.jpg y así sucesivamente.

Lo que necesito es una acción que copie el nombre del archivo, elimine la extensión (.jpg), cree un correo electrónico y coloque el nombre del archivo/correo electrónico en "Para" y luego envíe el correo electrónico.

Ya tengo una versión de trabajo donde el archivo se adjunta al correo electrónico y se completa el contenido del correo electrónico. Pero no puedo encontrar una solución para copiar el nombre del archivo y especificarlo en la dirección "Para".

Espero que alguien por ahí pueda ayudarme :-)

¿Podría compartir su acción actual de Automator para que podamos encontrar una solución que se ajuste a su flujo de trabajo?

Respuestas (1)

Lo intenté con Automator sin tener éxito al recorrer los archivos caídos.

Aquí hay un script de acción de carpeta que hace lo que quiere y cómo adjuntarlo a una carpeta:

1. Abra el Editor de AppleScript

2. Pegue el siguiente script en un nuevo 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. Guárdelo en su carpeta ~/Library/Scripts/Folder Action Scripts

Menú Archivo > Guardar

Vaya a la carpeta correcta: presione cmd+ Gy pegue:
~/Library/Scripts/Folder Action Scripts
y haga clic en Ir

Guardar como: Imagen - Correo electrónico usando el nombre como dirección.scpt (por ejemplo)
Formato: Script

4. Cree una nueva carpeta que se vigilará en busca de elementos agregados

5. Asociar el script a la carpeta

En el Finder, haga clic con el botón derecho en su carpeta, luego seleccione Servicios > Configuración de acciones de carpeta . Seleccione la nueva imagen creada : correo electrónico usando el nombre como secuencia de comandos address.scpt.

Ya ha terminado, suelte un archivo cuyo nombre sea una dirección, se enviará el correo.

¡GUAU! Esto es exactamente lo que estoy buscando. Y mira esa descripción... ¡Excelente! Eres genial Bibou ;-)
¿Sería posible hacer un comando "Enviar correo electrónico activo" a Outlook, para que los correos electrónicos se envíen en la misma acción? De lo contrario, tengo que presionar "enviar" manualmente en todos los correos electrónicos :-)
Reemplazar el comando "abrir" por "enviar" en la parte on processFile / tell new Message debería funcionar. He editado mi respuesta en consecuencia.
Muchas gracias por tu ayuda. Se agradece mucho :-)