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.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 Laravelconfig/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,],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'),],Nous déclarons simplement les variables correspondantes dans le fichier .env.
php artisan make:mail ContactEmailLe 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'); } }Lors de l'instanciation, nous avons besoin de recevoir certaines données :
public $contact; public function __construct($contact){ $this->contact = $contact;}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');}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'] }}Envoyer un e-mailDans 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));Oui, juste une ligne !
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!