Aníbal Javier Ladera Hernández
Sergio Veloza
Freddy Córdova Arana
Victor Barrios Alvarez
German Sayago
Wilmer David Cedeño Mendoza
Jhonny Andres Ospina Loaiza
Nelson Eduardo Zambrano Ellis
Sergio Abel Gordon Dolimpio
Carlos Andres Castañeda Osorio
Jonathan De Jesus Meneses Marquez
lucas cartisano
Alejandro González Reyes
Luis Andrés Arce Cárdenas
Félix Andersson
David Andrés Rincón Suárez
Danilo Pazos
Lorena Pena Verdú
Roberth Jason Rios Jesus
KEVIN BRAYAN LUNA FIGUEROA
JOEL HERNANDEZ
Lizardo Reyes
Pablo Joaquín Cruz
Sebastian Manco Valencia
Erik Elyager
Jhonathan Alfonso
Jose Alejandro Pantoja Giraldo
Kenneth Angulo L
Wilmer Duque Restrepo
Company_adminZuni Sanabria
Isaac Navajas Pozo
Sebastián Martínez Díaz
Edgar Aguilar Cubas
Antonio Rodríguez de Tembleque Fuentes
Cristian Camilo Narvaez Useche
Aníbal Javier Ladera Hernández
Jairo Lachira Peralta
Anakaren Ruiz Tamayo
Anakaren Ruiz Tamayo
Jazmín Guo
Hector Benitez
ProfesorPaul Cortes
Jimmy Buriticá Londoño
ATENCION ayuda para errores en ++".env"++ y ++"namespaces"++
Informacion: Me he dado cuenta que hay ciertos errores en los videos concernientes a los namespaces y puntualmente en este video se notan mucho así que voy proporcionarles la forma en como conseguir arreglar mis errores de ejecución . Error en el .env: Estos errores se originan por el cache, puntualmente se generan por no limpiarlo así que después de modificar el .env asociado a tu configuración de correos recomiendo limpiarlo; mas abajo proporcionare todo el procedimiento. ++Mi configuracion:++
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=1730ad736db1eb MAIL_PASSWORD=905ce9aeb83e9d MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=from@example.com MAIL_FROM_NAME="${APP_NAME}"
++Comando:++
php artisan config:cache
. Error en el namespaces: Estos erres veo que se asocian a no llamar los namespaces adecuadamente, para este ejercicio anexe los siguientes:
#Para ExpenseReportController.php use App\Mail\SummaryReport; use Illuminate\Support\Facades\Mail; #Para SummaryReport.php use App\ExpenseReport;
Muchas gracias! muy buen aporte!
Muchas gracias, fue de mucha ayuda.
¡OJO! En varias ocasiones he notado que en el proceso del profe no se muestra la inclusión de archivos necesarios (use App\XXX) porque al parecer su editor de código (PhpStorm) hace ese trabajo por el. En esta clase por ejemplo en ExpenseReportController.php es necesario incluir:
use App\ExpenseReport; use App\Mail\SummaryReport; use Illuminate\Support\Facades\Mail;
Tuve el siguiente error al intentar enviar el email:
Expected response code 250 but got code “530”, with message "530 5.7.1 Authentication required "
lo solucione corriendo la siguiente sentencia en la consola para que me tome los nuevos valores del env:
php artisan config:cache
Me paso igual, parece que hay que hacerlo cada vez que se cambian los valores de .env
Para quienes tengan el error Swift_TransportException Cannot send message without a sender address, en el archivo .env deben agregar:
Cambiar
MAIL_FROM_ADDRESS=null
A:
MAIL_FROM_ADDRESS=norequest@mailtrap.io
y luego limpiar cache
php artisan config:cache
Gracias amigo!!!
Gracias
Como recomendación que aplica a lo largo del curso, ya que no todos usamos el mismo IDE que usa el profesor Hector creo que sería conveniente que sean mostrados los "use" de las clases ya que PHPStorm las hace automáticamente. Para esta clase en específico en el controlador de PHP ExpenseReportController.php no olvidar colocar al inicio de la clase los siguientes "use":
use App\Mail\SummaryReport; use Illuminate\Support\Facades\Mail;
concuerdo contigo, es una lata eso de los using y es que con un editor de texto comun es un poco complicado saber que es lo que te hace falta a primera vista.
Gracias! :D
Que feo que la gente de platzi no revise esta clase de cosas, cualquiera se puede olvidar de mencionarlo, pero no se pueden olvidar de tomar el curso, paso a paso, una vez terminado para ver si está bién y está completo. Al final uno termina perdiendo tiempo en tratar de adivinar por que fallan las cosas y por que lo que me pasa a mi es distinto de lo que pasa en la clase, esto se puede esperar de un curso gratis de youtube, pero acá estamos pagando para "aprender mas rápido" como dice Freddy, esto no debería pasar
La verdad es que cuando me inspiro, sólo un corte de suministro eléctrico puede detenerme.
Que tal Alejandro, disculpa, cómo hiciste para notificar con el alert que el email fue enviado, luego de redireccionar?
@lulliarcec Pues yo lo hice pasando una variable por la url de la redirección al terminar de envíar el Email
return redirect("/expense_report/{$expenseReport->id}/sendEmail?sent=true");
Y se la pasas a la vista
return view('expenseReport.sendEmail', [ 'report' => $expenseReport, 'sent' => $request->get('sent') ]);
Ya luego en la plantilla verificas con un "if" si la variable 'sent' es true, y si lo es entonces muestras la notificacion
En lo personal me ha encantado este tema de los correos y sus plantillas para ser enviados desde Laravel... con PHP en condiciones nativas, siempre ha sido un problema darle configuración al formato con el que se debe mostrar un correo... Ahora veo que con Laravel, el asunto no es tan complejo!!!! (Excepto para visualizar un correo con imágenes, ahí se debe tener mucho cuidado con la ubicación de las mismas)
Laravel es sencillamente hermoso <3
y maravilloso! <3
ALGUIEN ME AYUDA? Argument 1 passed to App\Mail\SumaryPeople::__construct() must be an instance of App\Mail\People, instance of App\People given, called in C:\xampp\htdocs\janaq-project\app\Http\Controllers\PeopleController.php on line 166
Tiene que agregar esto:
use Illuminate\Support\Facades\Mail; use App\Mail\SummaryReport;
No queda claro en el curso la necesidad de agregar estas dependencias, quizás sea porque PHP Storm (el editor que Hector usa) las agrega en automático...
Ademas hubo ya un curso de PHP Avanzado donde explica todo eso.
#Cambios en la clase Mailable
Actualmente todo está un poquito cambiado. Ya no existe el método build(), ahora está el método content() que devuelve un objeto de tipo Content. En el parámetro view hay que indicar la vista como se muestra en la clase, pero para mandar el reporte se hace con el parámetro with. Quedaría así:
public function content() { return new Content( view: 'emails.expenseReport', with: [ 'expenseReport' => $this->expenseReport, ], ); }
Un dato más. Los atributos que se pongan como público van a estar disponibles en el template de blade sin necesidad de mandarlo en el with. Es decir, podemos usar el expenseReport sin pasarlo como parámetro si lo definimos así: public $expenseReport;. Pero asumo que para tener mayor control se debería mantener como privado y en with usarlo como quieramos.
tengo error 404 al enviar el correo se supone que todo lo tengo bien, los namespaces. en el editor no tengo nundun error
Ese error significa que tu request no es válido, verifica que el recurso existe y que la petición es correcta. Con más detalles sobre el error podemos ayudarte mejor.
Bro, si tienes bien configurado los datos del mailtrap, estos datos tienen que ir en el .env.
Siempre q algo me falla desde laravel uso este hermoso comando q les comparto para limpiar hasta la tuza q te dejo tu ex
Paso 1: enviar correo Paso 2: confirmar envio y regresar a lista general de reportes Paso3: leer correo .
. Entendida la clase del profesor, fue necesario seguir la documentacion oficial de Laravel 9, porque la forma de crear el objeto mailable ha cambiado un poco, en especifico el metodo content():
/** * Get the message content definition. * * @return \Illuminate\Mail\Mailables\Content */ public function content() { return new Content( view: 'mail.expenseReport', with: [ 'report' => $this->report ], ); }
Excelente compa muchas gracias.
Swift_TransportException Cannot send message without a sender address
Saben como puedo solucionarlo?
has puesto bien las variables de entorno? en .env tu gmail y contraseña? MAIL_USERNAME= **** MAIL_PASSWORD= *****
?¿
Te falta incluir la direccion de correo desde donde se envia en el .env ne la campo MAIL_FROM_ADDRESS
ejemplo:
MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=56cbb33cb01134 MAIL_PASSWORD=8c7463e523b770 MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=from@example.com MAIL_FROM_NAME="${APP_NAME}"
cuando relices el cambio limpia el cache e inicia de nuevo el servidor:
$ php artisan config:cache $ php artisan serve
en el SummaryReport.php, coloquen esto:
public function __construct($expenseReport){ $this->expenseReport = $expenseReport; }
De nada
No entiendo porque sale este error, he seguido el curso al pie de la letra...alguna sugerencia para resolverlo?
En caso tal de haberlo solucionado, agregue ésta linea de código en SummaryReport
use App\ExpenseReport;
Mira este comentario y ve si te ayuda: Revisa Aqui
¿Que tendría que cambiar o configurar pata enviar a correos como gmail o hotmail usando un hosting tradicional con Cpanel y eso ?
Lo primero que tienes que hacer es entrar a las configuraciones de tu cuenta de gmail y activar la verificación en dos pasos. Esto te va a proporcionar una "llave" que te va a servir como contraseña en las configuraciones del .env Luego vas a entrar al .env y vas a modificar: MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 MAIL_USERNAME=tucorreo@gmail.com MAIL_PASSWORD=aquiVaLaLlaveQueTeArrojóLaVerificaciónEnDosPasos MAIL_ENCRYPTION=ssl
Si tienes dudas de como activar la verificación, te adjunto el siguiente link en el que se explica paso a paso. https://programacionymas.com/blog/como-enviar-mails-correos-desde-laravel
recuerda que igual hay que cambiar la configuración de cofig/mail.php:
'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 465), 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'tucorreo@gmail.com'), 'name' => env('MAIL_FROM_NAME', 'ElNombreQueApareceDeRemitenteAlEnviarElCorreo'), ], 'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
Hola buenas, tengo una duda. Como puedo cambiar nombre "email from"? Modifique los variable globales en "config/mail.php",
pero quiero personalizar el titulo de correo, con los variables globales, me manda con el titulo de la clase Mail.
Y cuando modifico el build, si pudo personalizar el titulo de correo, pero el "email from name" me muestra "info", no me muestra "kora.com", como debo hacer para lograr esto?
Gracias!!
'from' => [ 'address'=> env('MAIL_FROM_ADDRESS', 'info@kora.com'), 'name' => env('MAIL_FROM_NAME', 'kora.com'), ],``` public function build() { return $this->from('info@kora.com', 'kora.com') ->subject('Solicitud de registro .') ->view('emails.bienvenidoUser')->with(['name' => $this->name]); }
en este caso en tu archivo .env agrega MAIL_FROM_ADDRESS y ponle el valor que quieras
Bueno el envió de correos y el uso de plantillas blade para dar formato a los correos y personalizarlos Excelente
Muy interesante la clase para enviar email, les comparto la documentación actualizada de ++Laravel++, por si necesitan enviar adjuntos, plantillas y demás: https://laravel.com/docs/7.x/mail