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 :-)
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.
Bibú
Stefan Johansen