ホームページ > バックエンド開発 > PHPチュートリアル > Laravelでメールを送信する方法

Laravelでメールを送信する方法

Joseph Gordon-Levitt
リリース: 2025-03-07 01:15:24
オリジナル
187 人が閲覧しました

How to Send Emails in Laravel

このチュートリアルでは、Laravelの電子メール機能を調査し、Symfony Mailerコンポーネントを活用します。 構成をカバーし、郵送可能なクラスの作成、電子メールの送信、実用的な例で頂点に達します。

構成:

Laravelは、Symfony Mailerをめぐるラッパーを通じて電子メール管理を簡素化します。 プライマリ構成ファイルは

です。 このファイルは、メーラー(SMTP、SendMail、MailGunなど)とその設定を定義します。 デフォルトのメーラーは、

環境変数(config/mail.php)で指定されています。 MAIL_MAILER、.env

、およびMAIL_HOSTMAIL_PORTファイルで構成する必要があります。 MAIL_ENCRYPTIONドライバーには、正しいMAIL_USERNAMEパスをMAIL_PASSWORDに設定する必要があります。 .envアドレスも設定可能です。 サードパーティのサービス(Mailgun、Postmark、SES)が追加のセットアップが必要です。 sendmailsendmail郵送可能なクラスの作成:config/mail.phpfrom config/services.php郵送可能なクラスは、電子メールの作成と送信を処理します。 職人コマンドを使用してください:

これにより、のクラスが生成されます。 典型的な郵送可能なクラスには次のものが含まれます

メソッドはデータを初期化し、
php artisan make:mail DemoEmail
ログイン後にコピー
は電子メールの詳細(送信者、ビュー、添付ファイルなど)を設定します。 対応するビューファイルを作成します(

およびDemoEmail)。app/Mail/DemoEmail.php

<?php

namespace App\Mail;

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

class DemoEmail extends Mailable
{
    use Queueable, SerializesModels;

    public $demo;

    public function __construct($demo)
    {
        $this->demo = $demo;
    }

    public function build()
    {
        return $this->from('sender@example.com')
                    ->view('mails.demo')
                    ->text('mails.demo_plain')
                    ->with(['testVarOne' => '1', 'testVarTwo' => '2'])
                    ->attach(public_path('/images/demo.jpg'), ['as' => 'demo.jpg', 'mime' => 'image/jpeg']);
    }
}
ログイン後にコピー
電子メールの送信:

__construct buildコントローラー(例えば、resources/views/mails/demo.blade.php)はresources/views/mails/demo_plain.blade.phpファサードを使用して電子メールを送信します。

メソッドがメールを送信します。 コントローラーにアクセスするには、にルートを追加します 実際に電子メールを送信せずにテストするには、

MailControllerMail

<?php

namespace App\Http\Controllers;

use App\Mail\DemoEmail;
use Illuminate\Support\Facades\Mail;

class MailController extends Controller
{
    public function send()
    {
        $demoData = new \stdClass();
        $demoData->demo_one = 'Demo Value 1';
        $demoData->demo_two = 'Demo Value 2';
        $demoData->sender = 'Sender Name';
        $demoData->receiver = 'Receiver Name';

        Mail::to("receiver@example.com")->send(new DemoEmail($demoData));
    }
}
ログイン後にコピー

結論:Mail::to()->send()routes/web.php Symfony Mailerに基づいて構築されたLaravelのメールシステムは、電子メール管理に対する合理化されたアプローチを提供します。 このチュートリアルは、構成から電子メールの送信までのプロセスを実証し、電子メール機能をLaravelアプリケーションに統合するための強固な基盤を提供しました。 さらなるLaravelリソースについては、Envato Marketを探索してください

以上がLaravelでメールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート