Table des matières
Classe d'envoi de courrier" >Classe d'envoi de courrier
Écrit à la fin" >Écrit à la fin
Maison cadre php Laravel Savez-vous comment Laravel envoie un email ?

Savez-vous comment Laravel envoie un email ?

Oct 16, 2020 pm 02:16 PM
laravel php 电子邮件

Ce qui suit est introduit par

Laravel La section tutoriel vous présentera "Savez-vous comment Laravel a envoyé un e-mail ?" 》, j'espère que cela sera utile aux amis dans le besoin !

Introduction

Dans le chapitre précédent, nous avons préparé un formulaire attentionné pour l'envoi d'e-mails, qui est Vérification parfaite des données, puis dans cet article nous expliquons comment envoyer un e-mail dans Laravel.

L'e-mail est très pratique, merci de ne pas en abuser.

Temps de codage

Laravel intègre la populaire et puissante bibliothèque SwiftMailer, qui encapsule la logique sous-jacente nécessaire pour envoyer des e-mails pour nous, donc nous seulement il faut se concentrer sur la logique d'envoi,

comment préparer le contenu de l'email.

Fichier de configuration Laravel

config/mail.php Paramètres smtp par défaut :

'smtp' => [
    'transport' => 'smtp',
    'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
    'port' => env('MAIL_PORT', 587),
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'timeout' => null,
    'auth_mode' => null,],
Copier après la connexion

Principalement utilisé pour spécifier le protocole de transmission, l'adresse de l'hôte, le numéro de port, la méthode de cryptage, le nom d'utilisateur et mot de passe, etc.

Pour des raisons à l'étranger, mailgun est utilisé par défaut comme serveur de messagerie, afin de ne pas faire en sorte que les e-mails envoyés par notre propre serveur de messagerie

soient identifiés comme spam et n'affectent pas les processus commerciaux.

Enregistrez un compte avec quota gratuit, qui peut vous fournir le nombre correspondant d'e-mails envoyés chaque mois. Après avoir postulé, vous pouvez voir le code suivant dans le fichier de configuration

app/services.php :

'mailgun' => [
    'domain' => env('MAILGUN_DOMAIN'),
    'secret' => env('MAILGUN_SECRET'),
    'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),],
Copier après la connexion

Nous déclarons simplement les variables correspondantes dans le fichier .env.

Centralise la logique d'envoi de courrier Nous devons restituer les données entrantes, puis les envoyer à l'utilisateur par courrier électronique.

Utilisez la commande suivante pour générer la classe de traitement des e-mails :

php artisan make:mail ContactEmail
Copier après la connexion

Le fichier généré se trouve dans

app/Mail/ContactEmail.php, et le contenu initial est le suivant suit :

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ContactEmail extends Mailable
{
    use Queueable, SerializesModels;
    public function __construct()
    {
        //
    }
    public function build()
    {
        return $this->view('view.name');
    }
}
Copier après la connexion

Lors de l'instanciation, nous avons besoin de recevoir certaines données :

public $contact;
public function __construct($contact){
    $this->contact = $contact;}
Copier après la connexion

L'envoi d'un e-mail convivial peut considérablement augmenter la fidélité de l'utilisateur. Donc avant d'utiliser la vue pour restituer l'e-mail :

public function build(){
    return $this->to(config('mail.from.address'))->subject('HackerPair Inquiry')->view('emails.contact');}
Copier après la connexion

Créez le fichier de vue

resources/views/emails/contact.blade.php, et écrivez brièvement le rendu et le format des données :

Hi,
A Laravel user has sent you a message.
Name: {{ $contact['name'] }}
E-mail: {{ $contact['email'] }}
Message: {{ $contact['msg'] }}
Copier après la connexion

Envoyer un e-mail

Dans l'article précédent, nous avons utilisé la variable $contact pour recevoir les valeurs de champ du corps de la requête.

Dans la section précédente, nous avons préparé le modèle pour l'envoi d'e-mails. "Tout est prêt, tout ce dont nous avons besoin c'est du vent d'est". Vient ensuite la logique principale du processus d'envoi d'e-mails !

N'oubliez pas d'introduire

AppMailContactEmail dans l'en-tête avant de l'utiliser :

Mail::to(config('mail.support.address'))->send(new ContactEmail($contact));
Copier après la connexion

Oui, juste une ligne !

Dans l'ensemble, cela reste très basique et toutes les fonctions sont mises en œuvre avec l'aide de tiers.

Par exemple, le serveur de messagerie dispose de nombreuses méthodes personnalisables. Il existe également une classe d'envoi d'e-mails, qui vous permet de créer de nombreux modèles personnalisés

Ce sont tous des aspects détaillés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel Eloquent Orm dans Bangla Partial Model Search) Laravel Eloquent Orm dans Bangla Partial Model Search) Apr 08, 2025 pm 02:06 PM

Laravelelognent Model Retrieval: Faconttement l'obtention de données de base de données Eloquentorm fournit un moyen concis et facile à comprendre pour faire fonctionner la base de données. Cet article présentera en détail diverses techniques de recherche de modèles éloquentes pour vous aider à obtenir efficacement les données de la base de données. 1. Obtenez tous les enregistrements. Utilisez la méthode All () pour obtenir tous les enregistrements dans la table de base de données: usApp \ Modèles \ Post; $ poters = post :: all (); Cela rendra une collection. Vous pouvez accéder aux données à l'aide de Foreach Loop ou d'autres méthodes de collecte: ForEach ($ PostsAs $ POST) {echo $ post->

L'avenir de PHP: adaptations et innovations L'avenir de PHP: adaptations et innovations Apr 11, 2025 am 12:01 AM

L'avenir de PHP sera réalisé en s'adaptant aux nouvelles tendances technologiques et en introduisant des fonctionnalités innovantes: 1) s'adapter aux architectures de cloud computing, de conteneurisation et de microservice, en prenant en charge Docker et Kubernetes; 2) introduire des compilateurs JIT et des types d'énumération pour améliorer l'efficacité des performances et du traitement des données; 3) Optimiser en continu les performances et promouvoir les meilleures pratiques.

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Apr 08, 2025 pm 12:24 PM

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

Laravel et le backend: alimentation logique d'application Web Laravel et le backend: alimentation logique d'application Web Apr 11, 2025 am 11:29 AM

Comment Laravel joue-t-il un rôle dans la logique backend? Il simplifie et améliore le développement backend par le biais de systèmes de routage, d'éloquente, d'authentification et d'autorisation, d'événements et d'auditeurs et d'optimisation des performances. 1. Le système de routage permet la définition de la structure d'URL et demande la logique de traitement. 2.Lao-éloquente simplifie l'interaction de la base de données. 3. Le système d'authentification et d'autorisation est pratique pour la gestion des utilisateurs. 4. L'événement et l'écoute implémentent la structure de code couplée de manière lâche. 5. L'optimisation des performances améliore l'efficacité de l'application par la mise en cache et la file d'attente.

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

See all articles