For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get-RjRbBrandingMailParams

Resuelve la configuración del tenant RJReport.Branding en parámetros listos para usar para Send-RjRbReportEmail.

Resumen

Get-RjRbBrandingMailParams cierra la brecha entre la configuración central de marca de correo electrónico y Send-RjRbReportEmail: las configuraciones contienen URL, la función de envío espera rutas de archivos locales. Esta función descarga las imágenes configuradas, las valida y devuelve una hashtable que puede expandirse directamente en la llamada de envío.

Disponible en RealmJoin.RunbookHelper 0.8.9. Las versiones anteriores del runbook incluían esta lógica como un helper en línea con el mismo nombre; esas copias pueden eliminarse una vez que la Automation Account ejecute 0.8.9 o posterior.

Reglas de diseño:

  • Nunca hace fallar el informe. Cualquier problema — configuración vacía, URL no HTTPS, descarga fallida, archivo demasiado grande, imagen inválida, color mal formado — genera una advertencia y la omisión de esa única clave. Luego, el correo se renderiza con el valor predeterminado correspondiente de RealmJoin.

  • Devuelve solo lo que se resolvió. La hashtable devuelta contiene solo las claves que se resolvieron correctamente, por lo que expandirla nunca sobrescribe un valor predeterminado con un valor vacío.

  • Una descarga por ejecución. Llámalo una vez y reutiliza el resultado para cada correo electrónico que envíe el runbook, incluso dentro de bucles que notifican a muchos usuarios.

Inicio rápido

$brandingMailParams = Get-RjRbBrandingMailParams `
    -HeaderImageUrl $BrandingHeaderImageUrl `
    -FooterImageUrl $BrandingFooterImageUrl `
    -FooterLink     $BrandingFooterLink `
    -AccentColor    $BrandingAccentColor `
    -TextColor      $BrandingTextColor

Send-RjRbReportEmail `
    -EmailFrom       $EmailFrom `
    -EmailTo         $EmailTo `
    -Subject         $Subject `
    -MarkdownContent $reportMd `
    @brandingMailParams

Sin ninguna marca configurada, $brandingMailParams es una hashtable vacía y la llamada se comporta exactamente como si se hubiera omitido el parámetro.

Parámetros

Todos los parámetros son opcionales: la función está diseñada para llamarse con lo que sea que el tenant tenga configurado.

Parámetro
Tipo
Predeterminado
Descripción

HeaderImageUrl

string

URL pública HTTPS de la imagen de encabezado (RJReport.Branding.HeaderImageUrl).

FooterImageUrl

string

URL pública HTTPS de la imagen de pie de página (RJReport.Branding.FooterImageUrl).

FooterLink

string

URL de destino de la imagen de pie de página (RJReport.Branding.FooterLink). Se pasa tal cual, no se valida.

AccentColor

string

Color de acento (RJReport.Branding.AccentColor). Se pasa tal cual; el formato hexadecimal lo valida Send-RjRbReportEmail.

TextColor

string

Color de texto (RJReport.Branding.TextColor). El mismo tratamiento que AccentColor.

TimeoutSec

int

30

Tiempo de espera de descarga por imagen.

MaxImageBytes

long

200 KB

Tamaño máximo de imagen aceptado. Las imágenes de marca comparten el límite de ~4 MB de sendMail con los archivos adjuntos del informe.

Salidas

Una [hashtable] que contiene solo las claves resueltas correctamente:

Clave
Valor

HeaderImage

Ruta local de la imagen de encabezado descargada

FooterImage

Ruta local de la imagen de pie de página descargada

FooterLink

Enlace de pie de página recortado

AccentColor

Color de acento recortado

TextColor

Color de texto recortado

Cada clave se asigna a un parámetro de Send-RjRbReportEmail, lo que hace que el splatting sea seguro.

Validación

Cada imagen pasa por las siguientes comprobaciones antes de ser aceptada:

Comprobación
Motivo del rechazo

Esquema de la URL

Solo https se acepta — los bytes de la imagen terminan dentro del correo de la empresa, así que HTTP en claro se rechaza.

Descarga

Las respuestas que no sean 2xx, los tiempos de espera y los errores de red se capturan; el cuerpo de la respuesta de un error de almacenamiento no se trata silenciosamente como una imagen.

Tamaño

Los archivos vacíos y los archivos mayores que MaxImageBytes (predeterminado 200 KB).

Firma del archivo

Los primeros bytes deben identificar un PNG, JPEG o GIF. Una página de error HTML guardada con un nombre .png se rechaza aquí.

Al archivo temporal se le asigna la extensión que coincide con su formato detectado , porque Send-RjRbReportEmail a partir de ella deriva el tipo de contenido del adjunto; por lo tanto, una URL sin extensión de archivo, o con una engañosa, funciona correctamente.

Notas de comportamiento

Alojar las imágenes

La URL solo necesita ser accesible desde el sandbox de Azure Automation. Dos patrones comunes:

  • Blob público o CDN — lo más sencillo, pero las imágenes pueden ser leídas por cualquiera.

  • Contenedor privado con un SAS Token en la URL — el contenedor permanece privado y solo quienes tengan el enlace pueden leerlo. Recuerda que la expiración del SAS termina la marca en silencio: después de que caduque, los informes siguen llegando con los valores predeterminados de RealmJoin y el motivo solo es visible como una advertencia en el registro del trabajo.

Limpieza de archivos temporales

Las imágenes descargadas se escriben en el directorio temporal del sandbox. El sandbox se descarta después de la ejecución, así que la limpieza es opcional, pero los runbooks con una sección explícita de limpieza deberían eliminarlas después del último correo electrónico:

Diagnóstico de la marca que no aparece

Cuando un informe llega con los gráficos predeterminados aunque la marca esté configurada, el registro del trabajo identifica la etapa que falló:

Entrada de registro
Causa

Sin Marca: ninguna entrada

La configuración nunca llegó al runbook — comprueba el JSON de personalización y si el portal conoce esta versión del runbook.

Solo se admiten URL HTTPS

La URL usa http://.

Un error de almacenamiento como PublicAccessNotPermitted

La solicitud llegó sin autenticación — falta el SAS Token en la URL, a menudo porque se truncó al copiarlo.

supera el límite de … para imágenes insertadas en correos electrónicos

El archivo es mayor que MaxImageBytes.

no es una imagen PNG, JPEG o GIF

La descarga devolvió algo distinto de una imagen, normalmente una página de error.

Ver también

Última actualización

¿Te fue útil?