Dado que en su pregunta no incluyó ningún código, mensaje de error o incluso cómo estaba implementando su solución, ofreceré lo siguiente como ejemplo de cómo podría automatizar la tarea en cuestión. Tenga en cuenta que mientras miraba el enlace en su pregunta, sin embargo, ya que era para Outlook y has etiquetado la pregunta con aplicación de correo Voy a ignorar lo que se enlazó y proceder a mi manera desde cero.
En este escenario de ejemplo, he creado una estructura jerárquica de carpetas bajo ~/Fotos Por ejemplo ~/Fotos/Clientes/Nombre/Fotos enviadas por correo electrónico y esta es la carpeta a la que arrastraré las fotos de destino, que tienen la convención de nomenclatura, por ejemplo name@client.com_2847.jpg y la carpeta a la que el Acción de carpeta de Automator flujo de trabajo se adjuntará.
En Automatizador :
- Archivo > Nuevo
- Selecciona, Carpeta Acción y haga clic en el botón Elija botón.
- En el La Acción Carpeta recibe los archivos y carpetas añadidos a Elegir Carpeta cuadro de lista selecciona: Otros...
- Navegue hasta la carpeta de destino, aquella a la que se va a aplicar la acción, selecciónela y haga clic en el botón Elija botón.
- Añade un Ejecutar AppleScript acción a la recién creada Carpeta Acción flujo de trabajo .
- Destaca el por defecto AppleScript código y borrarlo.
- Copiar y pegar el AppleScript que se muestra a continuación, en el Ejecutar AppleScript acción .
- Salvar el Carpeta Acción como, por ejemplo: Enviar fotos por correo electrónico a nombre@cliente
- Esto se guardará, por ejemplo, como
~/Library/Workflows/Applications/Folder Actions/Email Photos to name@client.workflow
Ahora, al arrastrar las fotos con la convención de nombres, por ejemplo name@client.com_2847.jpg a la carpeta de destino, por ejemplo ~/Fotos/Clientes/Nombre/Fotos enviadas por correo electrónico Se creará un correo electrónico para cada foto y se adjuntará el archivo de destino. Inicialmente, el correo electrónico no se enviará automáticamente hasta que usted descomente, elimine el --
de frente a la -- send theMessage
línea de código y guardar los cambios. Esto es inicialmente comentado para que pueda probar con un archivo y obtener su tema y la configuración del mensaje para satisfacer sus necesidades. Yo usaría un archivo que tenga su dirección de correo electrónico para probar, haciendo uno al principio y luego varios a la vez.
El mensaje de correo electrónico tema y contenido se establecen inicialmente como "Retratos" y Foto adjunta", respectivamente, como marcadores de posición. Además, hay otra línea comentada código , -- delay 2
, por encima de la -- send theMessage
línea de código que puede necesitar/querer implementar si añade un gran número de archivos al mismo tiempo a la carpeta de destino que tiene la Acción de Carpeta adjunta, ya que el envío rápido puede causar problemas. Tenga en cuenta que el valor de la delay
comando puede ser necesario ajustar más alto según las condiciones y sólo tendrá que hacer algunas pruebas para ver lo que funciona para usted. Aunque hice algunas pruebas, utilicé un archivo muy pequeño (3 KB) que repliqué y nombré secuencialmente con fines de prueba. Supongo que tus fotos tendrán un tamaño mucho mayor.
AppleScript código :
property theMessageSubject : "Portraits"
property theMessageContent : "Photo attached."
on GetTheRecipientNameFrom(theFilename)
-- # Get the filename portion of the alias passed to the Folder Action.
set AppleScript's text item delimiters to ":"
set theFilename to last item of text items of theFilename
set AppleScript's text item delimiters to ""
-- # Make sure the filename contains both an '_' and "@".
-- # This doesn't guarantee a properly formed email address,
-- # however it does attempt to validate what was passed as one.
if theFilename contains "_" and theFilename contains "@" then
set AppleScript's text item delimiters to "_"
set theFilename to first item of text items of theFilename
set AppleScript's text item delimiters to ""
return theFilename
else
return ""
end if
end GetTheRecipientNameFrom
on run {input, parameters}
set fileCount to (count of items of input)
set i to 1
repeat fileCount times
set theMessageAttachment to item i of input
set theRecipient to GetTheRecipientNameFrom(theMessageAttachment as string)
if theRecipient is not equal to "" then
tell application "Mail"
activate
set theMessage to make new outgoing message with properties {visible:true, subject:theMessageSubject, content:theMessageContent & linefeed & linefeed}
tell theMessage
make new to recipient at end of to recipients with properties {address:theRecipient}
end tell
tell content of theMessage
make new attachment with properties {file name:theMessageAttachment} at after last paragraph
end tell
set i to i + 1
-- delay 2
-- send theMessage
end tell
else
set i to i + 1
end if
end repeat
end run
Tenga en cuenta que, tal y como está codificado, si un archivo cae en la carpeta de destino, la carpeta a la que se adjunta la Acción de Carpeta, no se ajusta a la convención de nomenclatura de, por ejemplo name@client.com_2847.jpg entonces no se debe crear ningún correo electrónico para ese archivo, a menos que la parte del nombre del archivo que precede al guión bajo contenga el símbolo @ y cualquier otro carácter. En otras palabras, la única comprobación de errores que el código, tal y como está, intenta validar es que el nombre del archivo contenga una dirección de correo electrónico válida sólo bajo la premisa de que si tiene un guión bajo y el símbolo @, entonces asume que el nombre del archivo se ajusta a, por ejemplo name@client.com_2847.jpg . Se podría codificar una comprobación de errores más estricta, pero lo dejaré a su criterio si lo que se presenta no es adecuado.
Además, se podrían implementar otras formas de comprobación general de errores, es decir, asegurarse de que el archivo se ha adjuntado realmente antes de enviarlo, etc., pero esta respuesta pretende ser un simple ejemplo, no necesariamente una solución totalmente codificada. La responsabilidad es suya para asegurarse de que implementa la comprobación de errores adecuada según las condiciones.
Como se puede ver en las imágenes de abajo, escribí y probé esto en un entorno anterior a OS X 10.9, OS X 10.8.6 para ser específico, y tengo marcada la opción "Habilitar acceso para dispositivos de asistencia" en Accesibilidad preferencias. En OS X 10.9 y posteriores, incluida la última versión de macOS, Sierra, es posible que tenga que añadir Correo y o Automatizador a Preferencias del sistema > Seguridad y privacidad > Privacidad > Accesibilidad para que el Carpeta Acción a trabajar. No estoy en condiciones de probar en esas versiones en este momento, sin embargo, si no funciona para usted, a continuación, añadir estas aplicaciones en consecuencia.
![Automator Folder Action Image]()
![Email Message Image]()