Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Laravel 5 envía archivos adjuntos duplicados

Estas en el tema de Laravel 5 envía archivos adjuntos duplicados en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas. Tengo una aplicación con Laravel 5 que cuando envía archivos adjuntos por email los adjunta 2 veces, y cuando abres los emails que se ...
  #1 (permalink)  
Antiguo 21/07/2016, 04:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Laravel 5 envía archivos adjuntos duplicados

Buenas.

Tengo una aplicación con Laravel 5 que cuando envía archivos adjuntos por email los adjunta 2 veces, y cuando abres los emails que se envían desde la aplicación, efectivamente, aparecen 2 archivos siempre en vez de uno, y es el mismo archivo dos veces :S ...

Os dejo parte del código del controller que uso para enviar los emails, a ver si alguno ve algo que yo no veo :S ...

Código PHP:
       // Email para el comercial
                
if (Mail::send('emails.budget'$budget, function ($email) use ($data) {
                    
$email->from($data['emails']['customer']['email'], $data['emails']['customer']['name']);
                    
$email->to($data['emails']['sales']['email'], $data['emails']['sales']['name'])->subject(trans('email.subject'));
                    
$email->attach($data['img']['file'], ['as' => $data['img']['name'], 'mime' => $data['img']['mime']]); }) > 0) {
                        
// Email para el cliente
                        
if (Mail::send('emails.budget'$budget, function ($email) use ($data) {
                            
$email->from($data['emails']['sales']['email'], $data['emails']['sales']['name']);
                            
$email->to($data['emails']['customer']['email'], $data['emails']['customer']['name'])->subject(trans('email.subject'));
                            
$email->attach($data['img']['file'], ['as' => $data['img']['name'], $data['img']['mime']]); }) > 0) {
                                
// Establecemos el mensaje con el resultado de la operación
                                
$message['message'] = trans('messages.success.budget-sent');
                        }
                } 
Gracias de antemano ;)
  #2 (permalink)  
Antiguo 21/07/2016, 05:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Laravel 5 envía archivos adjuntos duplicados

Acabo de ver que de las dos copias del archivo adjunto, la primera pesa siempre menos que la segunda, y cuando descargas los archivos y los abres (son imágenes), la primera no se ve y la segunda sí :S ...

  #3 (permalink)  
Antiguo 21/07/2016, 10:34
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Laravel 5 envía archivos adjuntos duplicados

Vaya es algo raro, pero creo que el problema esta en que haces una llamada a Mial desde el callback, prueba reorganizando el código a algo como:
Código PHP:
Ver original
  1. Mail::send('emails.budget', $budget, function($emial) use ($data) {
  2.  
  3.     $email->from($data['emails']['customer']['email'], $data['emails']['customer']['name']);
  4.     $email->to($data['emails']['sales']['email'], $data['emails']['sales']['name'])->subject(tran('email.subject'));
  5.     $email->attach($data['img']['file'], ['as' => $data['img']['name'], 'mime' => $data['img']['mime']]);
  6.    
  7. });
  8.  
  9. if (count(Mail::failures()) == 0 ) {
  10.  
  11.     Mail::send('emails.budget', $budget, function ($email) use ($data) {
  12.         $email->from($data['emails']['sales']['email'], $data['emails']['sales']['name']);
  13.         $email->to($data['emails']['customer']['email'], $data['emails']['customer']['name'])->subject(trans('email.subject'));
  14.         $email->attach($data['img']['file'], ['as' => $data['img']['name'], $data['img']['mime']]);
  15.    
  16. }
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: adjuntos, email, laravel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.