3 votos

¿Puede Automator pasar varias líneas (por ejemplo, desde un shell script) a la acción Nuevo mensaje de correo?

Tengo Automator ejecutando un shell script que termina con cat "tempfile.txt" . El cat debería mostrar el contenido de tempfile.txt . El archivo tempfile.txt contiene sólo los siguientes tres párrafos en cinco líneas:

1er párrafo Lorem

2º párrafo Lorem ipsum

3er párrafo Ut enim

Tengo esto encadenado en Automator a la acción "Nuevo mensaje de correo". Las instrucciones de esta acción dicen que "Si se recibe texto de una acción anterior, el texto se anexa al mensaje".

El comportamiento esperado es, por tanto, que el cuerpo del mensaje de correo electrónico contenga esos tres párrafos. En cambio, sólo contiene el tercero, que se muestra aquí:

screenshot of generated email

A continuación se muestra la parte correspondiente del flujo de trabajo. En ella podemos ver en los Resultados para el shell script que los tres párrafos están siendo pasados a la "Acción de Nuevo Correo". ¿Por qué esto no pone todo el archivo de texto de entrada en el cuerpo del mensaje?

enter image description here

Actualización (más información) : Si cambio la acción "Crear nuevo mensaje de correo de Outlook" en lugar de la acción Mail.app, los tres párrafos se pasan con éxito al cuerpo del nuevo mensaje en Outlook. Sin embargo, se pasan sin saltos de línea.

2voto

user3439894 Puntos 5883

Parece que puede haber un error en Nuevo mensaje de correo acción en Automatizador . Si está interesado en un AppleScript solución, en la que el salida de la Ejecutar Shell script acción se forma en el contenido de la nuevo mensaje de correo utilizando AppleScript código para crear un nuevo mensaje de correo Aquí hay un ejemplo de solución.

En lugar del Nuevo mensaje de correo acción utilizar un Ejecutar AppleScript acción Después de la Ejecutar Shell script acción con el siguiente ejemplo AppleScript código :

on run {input, parameters}
    set theMessageContent to ""
    repeat with i from 1 to (count of input)
        set theMessageContent to theMessageContent & item i of input & linefeed
    end repeat
    tell application "Mail"
        activate
        set theMessage to make new outgoing message with properties {visible:true, content:theMessageContent}
    end tell
end run

Esto crea un nuevo mensaje que se parece a la siguiente imagen de ejemplo.

Si lo necesita, puede añadir más propiedades como en este ejemplo AppleScript código :

on run {input, parameters}
    set theMessageContent to ""
    repeat with i from 1 to (count of input)
        set theMessageContent to theMessageContent & item i of input & linefeed
    end repeat
    tell application "Mail"
        activate
        set theMessage to make new outgoing message with properties {visible:true, subject:"Hello World", content:theMessageContent}
        tell theMessage
            make new to recipient at end of to recipients with properties {name:"John Doe", address:"johndoe@domain.com"}
        end tell
    end tell
end run

Obviamente, tendrá que cambiar el valor de la parte adicional propiedades y o añadir más propiedades que se muestra a continuación, para adaptarse a sus necesidades. Puede buscar en el diccionario de AppleScript de Mail en el editor de script para encontrar otros aplicables propiedades .

Esto crea un nuevo mensaje que se parece a la siguiente imagen de ejemplo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X