目次
メール構成の設定
通知クラスの作成
通知を送信します
オプション1:特定のユーザーに通知します
オプション2:複数のユーザーまたは通知可能なモデルに送信します
メールの外観をカスタマイズします
ホームページ PHPフレームワーク Laravel Laravelで電子メール通知の構成と送信

Laravelで電子メール通知の構成と送信

Jul 05, 2025 am 01:26 AM
laravel 電子メール通知

laravelで電子メール通知を設定するには、最初にsmtpまたはメール\ _mailer、mail \ _host、mail \ _port、mail \ _password、mail \ _from \ _addressなどのサービス固有の詳細を使用して.envファイルでメール設定を構成します。次に、mail :: raw()を使用して構成をテストして、サンプルメールを送信します。次に、PHP Artisan Make:通知を介して通知クラスを作成し、via()メソッドを定義して「メール」をチャンネルとして指定し、メールコンテンツを構成します。パフォーマンスを向上させるために、sefsqueueを実装します。その後、ユーザーモデルでnotify()を呼び出して通知を送信するか、複数のユーザーに通知ファサードを使用します。最後に、Laravelの通知資産を公開し、リソース/ビュー/ベンダー/通知の下でBladeテンプレートを編集して、ブランドに合わせて、メールの外観をカスタマイズします。

Laravelで電子メール通知の構成と送信

Laravelで電子メール通知をセットアップすることは、特に組み込みの通知システムでは簡単です。すべてをゼロから書く必要はありません。Laravelは、データベースと電子メール通知の両方を送信するためのクリーンな方法を提供します。電子メール通知を効果的に構成して送信する方法は次のとおりです。

Laravelで電子メール通知の構成と送信

メール構成の設定

メールを送信する前に、メール設定が正しいことを確認してください。 Laravelは構成に.envファイルを使用しているため、それを開いてSMTPまたはサービス固有の詳細を入力します。

Laravelで電子メール通知の構成と送信
 mail_mailer = smtp
mail_host = smtp.example.com
mail_port = 587
mail_username=your@example.com
mail_password = yourpassword
mail_encryption = tls
mail_from_address = from@example.com
mail_from_name = "$ {app_name}"

構成したら、ルートまたはコントローラーでMail::raw()を使用してテストして、クイックテストメッセージを送信してテストします。

 Illuminate \ support \ facades \ mailを使用します。

メール:: raw( 'テストメールボディ'、function($ message){
    $ message-> to('test@example.com ') - > subject(' test email ');
});

それが機能する場合は、通知に進むのが良いです。

Laravelで電子メール通知の構成と送信

通知クラスの作成

Laravel通知は、複数のチャネルを介して送信できます。これは、電子メールが最も一般的なものの1つです。新しい通知クラスを生成するには、実行してください。

 PHP Artisan Make:通知アカウントアップ

これによりapp/Notificationsにファイルが作成されます。それを開いて、この通知がトリガーされたときに何が起こるべきかを定義します。これが基本的な例です。

 Illuminate \ bus \ Queuableを使用してください。
Illuminate \ Contracts \ queue \ sefsqueueを使用します。
Illuminate \ notifications \ notificationを使用します。

クラスaccountUpdatedは、通知の実装を拡張する必要があります
{
    queuableを使用します。

    パブリック関数__construct()
    {
        //
    }

    ($ notifiable)経由のパブリック関数
    {
        return ['mail'];
    }

    パブリック関数Tomail($ notifiable)
    {
        return(new \ illuminate \ notifications \ messages \ mailmessage)
             - > line( 'アカウントが正常に更新されました。')
             - > action( 'View Account'、url( '/account'))
             - > line( 'アプリケーションを使用していただきありがとうございます!');
    }
}

注意すべきいくつかのこと:

  • via()メソッドは、使用するチャネル( maildatabaseなど)を定義します。
  • toMail()実際の電子メールコンテンツを構築します。
  • ShouldQueue実装は、ダウンリクエスト処理の鈍化を避けるのに役立ちます。

通知を送信します

通知を送信するには、ユーザーモデルでnotify()ヘルパーを使用するか、 Notificationファサードを使用できます。

オプション1:特定のユーザーに通知します

app \ notifications \ AccountUpdatedを使用します。

$ user-> notify(new AccountUpdated());

オプション2:複数のユーザーまたは通知可能なモデルに送信します

Illuminate \ support \ facades \ notificationを使用します。
app \ notifications \ AccountUpdatedを使用します。

通知:: send($ users、new AccountUpdated());

$usersNotifiable特性を実装するモデルのコレクションであることを確認してください。

プロファイルの更新、支払いの完了、新しいデバイスからのログインなど、特定のアクションの後にこれらの通知をトリガーできます。


メールの外観をカスタマイズします

デフォルトでは、Laravelは電子メール通知に簡単なレイアウトを使用しています。外観をカスタマイズする場合は、通知資産を公開してください。

 PHP Artisanベンダー:パブリッシュ -  TAG = laravel-notifications

これにより、ブレードテンプレートがresources/views/vendor/notificationsにコピーされます。これで、ブランドスタイルに合わせてHTMLとCSSを編集できるようになりました。

いくつかのカスタマイズのヒント:

  • ヘッダー/ロゴセクションを変更します
  • デフォルトの色とフォントを更新します
  • カスタムフッターリンクまたはブランディングを追加します

また、大規模なトランザクションメールを送信する場合は、MailGun、SendGrid、Amazon SESなどのサービスの使用を検討してください。それに応じて、 MAIL_MAILER値を.envで更新するだけです。


それは基本的にそれです。メーラーが設定され、通知ロジックが設定されたら、電子メールを送信すると、アプリの流れの別の部分になります。それは複雑ではありませんが、いくつかの可動部品(特にテンプレートや配信ドライバー)があります。そのため、何かが予想どおりに到着しない場合は、各ステップを再確認します。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LaravelでEloquentの使用方法 LaravelでEloquentの使用方法 Aug 21, 2025 pm 02:30 PM

モデルと移行の作成:phpartisanmake:modelpost-mを使用してモデルと移行ファイルを生成し、テーブル構造を定義し、phpartisannigrateを実行します。 2。基本的なCRUD操作:post :: all()、find()、create()、save()、delete()を使用して、データをクエリ、作成、更新、削除します。 3.雄弁さの使用:モデル内のbelundstoとhasmany関係を定義し、with()メソッドを使用して関連するデータをプリロードして、n 1クエリの問題を回避します。 4。雄弁クエリ:クエリコンストラクターを使用して、どこに通話をチェーンしますか

Laravelでソーシャルネットワークを作成する方法 Laravelでソーシャルネットワークを作成する方法 Sep 01, 2025 am 06:39 AM

はい、youcancreateasocialnetworkwithlaravelbywollowingesteps:1。setuplaravelusingcomposer、configurethe.envfile、enableauthicationviabreeze/jetstream/fortify、andrunmigrations forusermanmanagement.2.implementcore featuresincludingurprofiThuserprofiThaTarasa

Laravelのタスクスケジューリングの使用方法 Laravelのタスクスケジューリングの使用方法 Aug 31, 2025 am 06:07 AM

Laravelのタスクスケジューリングシステムを使用すると、サーバーCrontabを手動で編集せずにPHPを介してタイミングタスクを定義および管理できます。1分ごとに1分に1回実行されるCronタスクを追加する必要があります。 クラス; 1.タスクの定義は、$スケジュールなどのコマンド、コール、またはexecメソッドを使用できます。

Laravelで多型関係を扱う方法 Laravelで多型関係を扱う方法 Aug 25, 2025 am 10:56 AM

polymorphicrelationshipsinlaravelallowallowAmodellikecommentorimageTobelOngtomtoModelssuchaspost、video、oruserusisingasingleassociation.2.thedatabaseschemarequires {lateration} _idand {relation} _tepecolumns、exemmentable_mentable_mentablementable

Laravelアプリケーションを国際化する方法 Laravelアプリケーションを国際化する方法 Aug 22, 2025 pm 02:31 PM

言語ファイルの作成:リソース/langディレクトリで各言語(EN、ESなど)のサブディレクトリを作成し、messages.phpファイルを追加するか、jsonファイルを使用して翻訳を保存します。 2.アプリケーション言語の設定:リクエストヘッダーを読み取り、ミドルウェアを介して承認語本を読むか、URLプレフィックスを使用して言語を検出し、app() - > setlocale()を使用して現在の言語を設定し、kernel.phpでミドルウェアを登録します。 3。翻訳関数を使用します:viewで__()、trans()または@langを使用して翻訳コンテンツを取得すると、フォールバックをサポートする__()を使用することをお勧めします。 4。サポートパラメーターと複数:次のような翻訳文字列でプレースホルダーを使用します:n

Laravelでモバイルアプリバックエンドを構築する方法 Laravelでモバイルアプリバックエンドを構築する方法 Sep 02, 2025 am 08:34 AM

Laravelを使用してモバイルバックエンドを構築するには、最初にフレームワークをインストールし、データベース環境を構成する必要があります。 2。ルート/API.phpでAPIルートを定義し、リソースコントローラーを使用してJSON応答を返します。 3. Laravelsanctumを介してAPI認証を実装して、モバイルストレージと認証用のトークンを生成します。 4.ファイルをアップロードするときにファイルタイプを確認し、パブリックディスクに保存し、外部アクセス用のソフトリンクを作成します。 5.生産環境には、HTTPSが必要です。現在の制限を設定し、CORを構成し、APIバージョン制御を実行し、エラー処理を最適化します。また、APIリソース、ページング、キュー、APIドキュメントツールを使用して、保守性とパフォーマンスを向上させることもお勧めします。 Laravelを使用して安全を構築し、

Laravelのファイルにメッセージを記録する方法は? Laravelのファイルにメッセージを記録する方法は? Sep 21, 2025 am 06:04 AM

laravelusesmonologtologmessagesviathelogfacade、withdefaultlogsstoredinstorage/logs/lavel.log.log.configurechannelsinconfig/logging.phptocontrolotput; thedefaultStackChannElagGregatesMultipleHandlikesingle、writeStoeSoafile.iseL.

Laravelで「私を覚えている」機能を実装する方法 Laravelで「私を覚えている」機能を実装する方法 Aug 31, 2025 am 08:53 AM

ユーザーテーブルにremember_token列があることを確認してください。 Laravelのデフォルトの移行には、すでにこのフィールドが含まれています。そうでない場合は、移行を通じて追加されます。 2。ログインフォームで名前を記憶した名前のチェックボックスを追加して、「覚えておいてください」オプションを提供します。 3.覚えているパラメーターをAuth :: tirmed()メソッドに渡して、手動認証中に永続的なログインを有効にします。 4。「Memember Me」はデフォルトで5年間続き、config/auth.phpのremems_for configurationアイテムを介してカスタマイズできます。 5。LARAVELは、パスワードが変更されたときにremember_tokenを自動的に無効にします。 HTTPSを使用して、生産環境のセキュリティを確保することをお勧めします。 6

See all articles