Dans mon application Laravel 5.4 , je souhaite envoyer une notification par e-mail à l'utilisateur lors de son inscription , j'ai tout configuré mais je ne fonctionne pas et j'ai affiché une exception comme:
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=3e917ca6b3dabc MAIL_PASSWORD=05abe282eca67f MAIL_ENCRYPTION=tls
J'utilise mailtrap .
J'ai également exécuté la commande artisan php artisan config: cache et php artisan cache: clear
Ceci est mon fichier .env :
Cannot send message without a sender address
5 Réponses :
Veuillez mettre à jour votre fichier .env comme:
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=youremailaddress MAIL_PASSWORD=gtxajikwsqmlaqc //your app password
Je veux utiliser mailtrap et non gmail
@ShahidHussain: La différence est MAIL_USERNAME && MAIL_PASSWORD
MAIL_USERNAME && MAIL_PASSWORD utilise déjà le MAIL_USERNAME && MAIL_PASSWORD dont vous parlez
@ShahidHussain: Veuillez vérifier ce lien
Dans votre fichier .env , vous devrez définir l'adresse e-mail et le mot de passe de votre compte e-mail.
Étapes pour configurer mailtrap:
1) Inscrivez-vous à mailtrap: https: //mailtrap.io/register/signup
2) Aller à la page Boîte de réception: https : //mailtrap.io/inboxes
3) Cliquez sur le lien Demo Inbox et vous verrez les informations d'identification smtp mailtrap suivantes, où le nom d'utilisateur et le mot de passe ressembleront à ceci: p >
php artisan config:cache
Passez maintenant au fichier .env dans le répertoire racine de votre projet et modifiez la ligne suivante:
XXX
Une fois la modification de .env terminée, veuillez saisir cette commande dans votre terminal pour vider le cache:
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=***USER NAME*** MAIL_PASSWORD=***PASSWORD*** MAIL_ENCRYPTION=null
mailtrap fonctionne dans laravel 5.6 mais pas dans laravel 5.4 alors quelle est la raison
je ne veux pas utiliser gmail je veux utiliser mailtrap
@ShahidHussain c'est la bonne réponse, vérifiez votre MAIL_ENCRYPTION = null au lieu de tls à des fins de diagnostic.
Tout d'abord, vérifiez vos variables d'environnement dans votre fichier .env .
Elles devraient ressembler à ceci:
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('example@example.com')
->view('emails.orders.shipped');
}
Deuxièmement vérifiez que vous disposez d'une adresse e-mail, car votre erreur suggère que vous ne pouvez pas envoyer d'e-mail sans adresse d'envoi.
config / mail.php
Vérifier pour
MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="Example"
Vous pouvez définir MAIL_FROM_ADDRESS et MAIL_FROM_NAME dans votre fichier .env , par exemple
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
Si vous utilisez un mailable
Vous pouvez définir la provenance de l'e-mail dans votre build ( ) par exemple
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=username MAIL_PASSWORD=password MAIL_ENCRYPTION=null
Pouvez-vous montrer votre code qui envoie l'e-mail?
J'ai rencontré exactement le même problème avec Laravel 6.15.1.
Il s'est avéré que vous n'avez qu'à supprimer ces lignes dans .env:
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
Je pense que vous n'avez pas redémarré votre service. Vous devez redémarrer votre service en 2 étapes:
Étape 1: Arrêtez votre service (CMD):
npm run dev php artisan serve
Étape 2: Vous exécutez à nouveau le service:
XXX