Lumen 5.3 envoyer un email
J'ai essayé d'envoyer un email de Lumière à l'aide de smtp de gmail config. Je suis à l'aide de:
illuminate/mail
, Version5.3
lumen
, Version5.3
Je ne peux pas envoyer un e-mail.
Mon routeur:
$app->get('/', function () use ($app) {
$app->get('mail','mailcontroller@mail');
});
Mon 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');
});
}
}
Mon .env
configuration:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=*******@gmail.com
MAIL_PASSWORD=*********
MAIL_ENCRYPTION=tls
Mon mail contrôleur:
<?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']); });
}
}
Aussi j'ai activer les lignes suivantes dans app.php
:
$app->register(App\Providers\AppServiceProvider::class);
$app->withFacades();
Vous devez vous connecter pour publier un commentaire.
Un peu en retard à la fête, mais voici comment je l'ai fait dans la Lumière 5.4 (et je sais que ça peut être un peu maladroit et pas adapté pour tout le monde, mais quand même):
1) tirer dans
illuminate/mail
:composer require illuminate/mail
2) ajouter le prestataire de service pour votre
bootstrap/app.php
:$app->register(\Illuminate\Mail\MailServiceProvider::class);
et décommentez$app->withFacades();
Il est possible/probable que le suivant peut être réalisé grâce à
.env
mais je n'ai pas essayé:3) Installer phanan de la cascade de config - https://github.com/phanan/cascading-config et suivez le processus d'installation de Lumière y sont décrits
4) créer
config
dossier dans la racine de l'application et de copier-coller plein Laravel estconfig/mail.php
5) ajouter
$app->configure('mail');
àbootstrap/app.php
6) assurez-vous que le réel config dans
mail.php
est correctMaintenant, vous devriez être en mesure d'envoyer des mails de la même manière que vous le faites en plein Laravel installation.
$this->app->alias('mailer','Illuminate\Mail\Mailer');
après l'application bootrapped (je l'ai ajouté dans le registre de la méthode de AppServiceProvider)illuminate/mail
(problème avec la version), necomposer show --installed | grep illuminate
et avis version. Ensuite, exécutezcomposer require illuminate/mail:~version.number
. Alfter, j'ai été en mesure de suivre les étapes de votre @GTCrais. Merci s'accoupler.Si php 7.1 est installé, utilisez la Messagerie de 5,7 version