laravel - make - Lumen 5.3 enviar correo electrónico
send email laravel (1)
Un poco tarde para la fiesta, pero así es como lo hice en Lumen 5.4 (y sé que podría ser un poco torpe y no apto para todos, pero aún así):
1) tire en illuminate/mail
:
composer require illuminate/mail
2) agregue el proveedor de servicios a su bootstrap/app.php
:
$app->register(/Illuminate/Mail/MailServiceProvider::class);
y descomentar $app->withFacades();
Es posible / probable que se pueda lograr lo siguiente a través de .env
pero no lo he intentado:
3) Instale la configuración en cascada de phanan - https://github.com/phanan/cascading-config y siga el proceso de instalación para Lumen descrito allí
4) crear la carpeta de config
en la raíz de la aplicación y copiar y pegar la config/mail.php
5) agregar $app->configure(''mail'');
a bootstrap/app.php
6) asegúrese de que la configuración real en mail.php
es correcta
Ahora debería poder enviar correos electrónicos de la misma manera que lo hace en la instalación completa de Laravel.
Intenté enviar un correo electrónico desde Lumen usando gmail smtp config. Estoy usando:
-
illuminate/mail
, Versión5.3
-
lumen
, Versión5.3
No puedo enviar un correo electrónico
Mi enrutador
$app->get(''/'', function () use ($app) {
$app->get(''mail'',''mailcontroller@mail'');
});
Mi AppServiceProvider.php
:
namespace App/Providers;
use Illuminate/Support/ServiceProvider;
class AppServiceProvider extends ServiceProvider {
public function register() {
$this->app->singleton(''mailer'', function ($app) {
$app->configure(''services'');
return $app->loadComponent(''mail'', ''Illuminate/Mail/MailServiceProvider'', ''mailer'');
});
}
}
Mi configuración .env
:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=*******@gmail.com
MAIL_PASSWORD=*********
MAIL_ENCRYPTION=tls
Mi controlador de correo:
<?php
namespace App/Http/Controllers;
use Illuminate/Support/Facades/Mail;
class mailcontroller extends Controller {
public function mail(){
Mail::raw(''Raw string email'', function($msg) {
$msg->to([''****.com'']);
$msg->from([''*****@gmail.com'']); });
}
}
También tengo habilitar las siguientes líneas en app.php
:
$app->register(App/Providers/AppServiceProvider::class);
$app->withFacades();