Maison > cadre php > Laravel > Savez-vous comment Laravel envoie un email ?

Savez-vous comment Laravel envoie un email ?

藏色散人
Libérer: 2020-10-19 14:25:18
avant
2248 Les gens l'ont consulté
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.

Classe d'envoi de courrier

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 !

Écrit à la fin

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!

Étiquettes associées:
source:learnku.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal