A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Curso de PHP con Laravel

Curso de PHP con Laravel

H茅ctor Benitez

H茅ctor Benitez

Enviando emails

23/25
Recursos

Para enviar correos electr贸nicos necesitamos usar alg煤n servicio especializado en lugar de cuentas propias tipo gmail porque estas 煤ltimas tienden a bloquearse al detectar mucha actividad de env铆os. mailtrap.io ofrece un servicio especial para probar c贸mo funciona el env铆o de correos durante el desarrollo de una aplicaci贸n.

  • Dentro de tu cuenta de mailtrap tendr谩s tus diferentes bandejas de entrada y al entrar a ellas encontrar谩s las credenciales necesarias para configurar la aplicaci贸n. Lo m谩s com煤n es usar credenciales SMTP.
  • En nuestro archivo .env encontraremos c贸mo configurar el env铆o de email. Necesitaremos el username y el password.
  • La configuraci贸n real se hace siempre dentro de la carpeta config en el archivo mail.php
  • PHP artisan nos provee el comando make:mail que se usa para crear una nueva clase de email. En Laravel los correos electr贸nicos son objetos que podemos trabajar con ciertas caracter铆sticas e incluso darles un template para que sean rendereados.
  • Laravel nos ofrece un facade llamado Mail que nos ayuda a hacer el env铆o.

Aportes 26

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

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[email protected]
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;

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

隆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;

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[email protected]

y luego limpiar cache

php artisan config:cache

La verdad es que cuando me inspiro, s贸lo un corte de suministro el茅ctrico puede detenerme.

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 鈥渦se鈥 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 鈥渦se鈥:

use App\Mail\SummaryReport;
use Illuminate\Support\Facades\Mail;

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)

Tiene que agregar esto:

use Illuminate\Support\Facades\Mail;
use App\Mail\SummaryReport;

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

No entiendo porque sale este error, he seguido el curso al pie de la letra鈥lguna sugerencia para resolverlo?

驴Que tendr铆a que cambiar o configurar pata enviar a correos como gmail o hotmail usando un hosting tradicional con Cpanel y eso ?

Hola buenas, tengo una duda. Como puedo cambiar nombre 鈥渆mail from鈥? Modifique los variable globales en 鈥渃onfig/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 鈥渆mail from name鈥 me muestra 鈥渋nfo鈥, no me muestra 鈥kora.com鈥, como debo hacer para lograr esto?

Gracias!!

'from' => [
        'address'=> env('MAIL_FROM_ADDRESS', '[email protected]'),
        'name' => env('MAIL_FROM_NAME', 'kora.com'),
    ],```

 
 

 public function build()
    {
        
        return $this->from('[email protected]', 'kora.com')
        ->subject('Solicitud de registro .')
        ->view('emails.bienvenidoUser')->with(['name' => $this->name]);
    
    }



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

me sale este error, saben porque puede ser?
Swift_TransportException
Cannot send message without a sender address

Siempre q algo me falla desde laravel uso este hermoso comando q les comparto para limpiar hasta la tuza q te dejo tu ex

  • php artisan config:cache && php artisan cache:clear && php artisan view:clear && composer dump-autoload

en el SummaryReport.php, coloquen esto:

public function __construct($expenseReport){
        $this->expenseReport = $expenseReport;
    }

De nada

Me surgi贸 este error 鈥淭rying to get property 鈥榚mail鈥 of non-object鈥 en curso-laravel\vendor\laravel\framework\src\Illuminate\Mail\Mailable.php
驴Alguien sabe como se soluciona?

Me sali贸 un error al dar Send Mail:

鈥淪wift Cannot send message without a sender address鈥

Al parecer debes configurar en el archivo App/Config/mail.php lo siguiente:

鈥榝rom鈥 => [鈥榓ddress鈥 => 鈥[email protected]鈥, 鈥榥ame鈥 => 鈥榤yname鈥橾,

donde:
[email protected] es el correo emisor y
myname es el nombre del emisor.

me dio el siguiente error

Connection could not be established with host smtp.mailtrap.io :stream_socket_client(): unable to connect to smtp.mailtrap.io:2525 (Connection refused)

Tengo un duda, al final del video ya hice todo lo que explica el profe Hector pero los correos no me llegan al correo que pongo en el input, todos se quedan en la bandeja de mailtrap, saben como puedo hacer para que me lleguen esos correos?

Swift_TransportException
Cannot send message without a sender address

Saben como puedo solucionarlo?

cual es la diferencia entre model binding y type hinting?驴??驴驴

Mailtrap es un servicio muy bueno para probar el env铆o de mails y sin duda Laravel facilita mucho el env铆o de los mails tambi茅n, y el hecho de que se puedan maquetar con Blade es excelente!

En la clase Mail es importante definir el atributo con el cual pasaremos del constructor al m茅todo del env铆o de mail nuestros datos, y as铆 como se define esa propiedad, tambi茅n podemos definir una propiedad llamada $subject en dado caso de que quieras modificar el asunto del correo electr贸nico:D

驴A alguien m谩s le dio este error?