Necesito enviar un correo electrónico a través de la función PHP mail() . He leído en alguna parte que tengo que cambiar el parámetro del driver en config/mail.php a sendmail .
De forma predeterminada, se ve así:
'driver' => env('MAIL_DRIVER', 'smtp'),Ahora, se ve así:
'driver' => 'sendmail',También probé esto:
'driver' => 'mail', Pero aún así, la función mail() no funciona. ¿Qué necesito cambiar?
Para hacer lo mismo que hace la función PHP mail(), en la mayoría de los casos debes configurar Laravel de la siguiente manera:
Utilice sendmail, en .env:
MAIL_DRIVER=sendmailSi está utilizando Larvel 7 o superior
MAIL_MAILER=sendmail Laravel 7 reemplazó MAIL_DRIVER por MAIL_MAILER
No se necesita host, usuario, contraseña, puerto ni cifrado.
En este punto, puede verificar si ya funciona, pero a veces también se necesita el siguiente paso.
Establezca una nueva opción .env en config/mail.php:
'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs') Establezca la ruta de envío de correo electrónico en .env. Puede verificar sendmail_path en phpinfo(), pero generalmente es este:
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'Para usar el servidor de correo electrónico que se ejecuta en localhost , su archivo .env debería verse así (la función de mail PHP no necesita un nombre de usuario o contraseña)
MAIL_DRIVER=smtp MAIL_HOST=localhost MAIL_PORT=25 MAIL_USERNAME= MAIL_PASSWORD= MAIL_ENCRYPTION=nullLuego, actualice el caché de configuración:
php artisan config:cacheDebe configurar su configuración de correo en el archivo .env. Aquí debe configurar todo su controlador de correo y todos los detalles. Consulte esta documentación https://laravel.com/docs/5.0/mail