Envío de imágenes Base64 usando Laravel

Wilo Maldonado

Estoy usando Laravel para enviar correos electrónicos y el texto sin formato funciona bien. Sin embargo, tengo problemas para adjuntar imágenes al correo electrónico. A partir de este momento, las imágenes se almacenan en la base de datos como cadenas Base64.

Este es el código que llama a la fachada de Mail en Laravel:

            Mail::queue('emails.infraction', $data, function($message) use ($email){
            $message -> from($fromEmail, 'Blah);
            $message -> to($toEmail) -> subject('Testing');

        });

Básicamente, la variable $ data contiene toda la información que mostraré en el correo electrónico HTML que se envía. Puedo acceder a las variables sin problemas cuando las visualizo en el correo electrónico, pero tengo problemas para adjuntar las imágenes base64 en el correo electrónico.

Esto es lo que he probado hasta ahora:

        Evidence of Intraction:</p>
            <?php 
                $elementCount  = count($photos);
                for($x=0; $x<$elementCount; $x++){
                    echo '<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; margin-left: 80px;">';
                    echo "<img src=" . $message->embedData($data['photos'][$x], 'Blah') . ">";
                    echo "</p>";
                }
            ?>

Pero como puede ver aquí, gmail no codifica correctamente ese rawDataString en la imagen:

laravel

Simplemente se muestra como si hubiera una imagen, pero no el contenido. He verificado la cadena base 64 y es correcta.

¿Cuál podría ser el error?

La documentación de correo de Laravel dice usar algo como esto en el generador de mensajes:

anuncio publicitario de laravel

pero estoy un poco perdido sobre cómo hacerlo correctamente. La otra opción sería convertir la cadena base64 en una imagen sobre la marcha y enviarla como un archivo adjunto al usuario, pero no puedo almacenar las imágenes en el servidor y, por lo tanto, tendría que convertirla en una imagen dentro de php y enviarla a través de mailer de laravel sin una ruta de archivo real.

por favor avise

Roj Vroemen

Primero tienes que decodificar la imagen así:

$message->embedData(base64_decode($data['photos'][$x]), 'Blah')

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo almacenar y recuperar imágenes de datos de tipo: image / jpeg; base64?

Envío de imágenes en una red particular usando IntentService

Golang convierte datos base64 en imágenes sobre la marcha y envía una respuesta

Carga de imágenes múltiples de Laravel usando Ajax

¿Cómo exportar texto HTML con imágenes incrustadas (base64, uri de datos) usando el componente html?

Error de Laravel 500, imágenes Base64, Ajax y matrices

cómo guardar la decodificación de imágenes base64 en una carpeta pública en laravel

cómo guardar la decodificación de imágenes base64 en una carpeta pública en laravel

Envío de imágenes por POST usando solicitudes de Python

Envío de lista de imágenes como respuesta usando Javascript

¿Cómo cargar varias imágenes en una base de datos usando laravel?

Carga de imágenes: Base64 al servidor en la solicitud de publicación o Express Js Middelware

Ajax envía múltiples imágenes base64

¿Puede el rastreador de Facebook ver imágenes de Base64?

Laravel 5 - Carga de imágenes y cambio de tamaño usando el paquete de imágenes de intervención

¿No es necesario que los tipos MIME, como imágenes o archivos PDF, estén codificados en base64 o de otro modo?

Envío de imágenes de contenedor al almacén de imágenes de Service Fabric

cambiar el tamaño o recortar imágenes base64 usando php

¿Puede el rastreador de Facebook ver imágenes de Base64?

Sube varias imágenes a la base de datos usando laravel 5.7

Ckeditor eliminando imágenes de Base64

Decodificar una lista de cadenas base64 en imágenes png usando bucles for es solo crear un archivo (python3)

Muestre una imagen de marcador de posición para el carrusel de arranque cuando no hay imágenes cargadas en la base de datos usando Laravel

Descargar imágenes de imágenes de Google usando Python

Javascript: envía dos matrices de imágenes codificadas en base64 a php a través de xhr

Error de solicitud de envío HTTP al intentar cargar imágenes a aws S3 usando React y Express

Mostrar imágenes de laravel de la base de datos

¿Método adecuado para convertir cadenas de imágenes base64 a binarias?

Conversión de imágenes a Base64 en GoLang

TOP Lista

CalienteEtiquetas

Archivo