目次
1.メール設定を構成します
2。郵送可能なクラスを作成します
3.電子メールテンプレートを作成します
4。メールを送信します
5.パフォーマンスを向上させるためのキューメール
ボーナス:Markdown Mailablesの使用
ホームページ PHPフレームワーク Laravel Laravelアプリケーションでメールを送信する方法は?

Laravelアプリケーションでメールを送信する方法は?

Aug 02, 2025 pm 03:56 PM

メール設定の構成:mail_mailer、mail_host、mail_port、およびその他の情報を.envファイルに設定し、送信またはテストのためにsmtpやログなどのドライバーを選択します。 2。郵送可能クラスの作成:PHP Artisan Makeを使用:WelcomeMailにメールを送信して、WelcomeMailクラスを生成し、ビルドメソッドのトピックとビューを定義します。 3.電子メールテンプレートの作成:Blade Syntaxを使用して、リソース/ビュー/電子メール/Welcome.blade.phpでHTMLメールコンテンツを書き込み、オプションでプレーンテキストバージョンを追加します。 4。電子メールの送信:電子メールを介してメールを送信:: to() - > send()でコントローラーまたはルートでsend()、CCおよび複数の受信者をサポートします。 5.キューの送信パフォーマンスの向上:queue()以降()メソッドを使用して送信を遅らせます。キューを実行する必要があります。ボーナス:マークダウンメールを使用して、レスポンシブでプリセットスタイルのメールをすばやく作成します。 Laravelは、ドライバーを構成し、郵送可能クラスの作成、テンプレートの設計、キューの送信をサポートすることにより、メール機能を簡潔で効率的にすることができます。

Laravelアプリケーションでメールを送信する方法は?

Laravelアプリケーションで電子メールを送信することは、Laravelの複数のメールドライバーに対する組み込みサポートとそのエレガントなメールファサードのおかげで簡単です。セットアップして電子メールを効果的に送信する方法は次のとおりです。

Laravelアプリケーションでメールを送信する方法は?

1.メール設定を構成します

まず、 .envファイルでメール設定を構成します。 Laravelはこれらの値を使用して、使用するドライバーと接続方法を決定します。

 mail_mailer = smtp
mail_host = smtp.mailtrap.io
mail_port = 2525
mail_username = your_username
mail_password = your_password
mail_encryption = tls
mail_from_address = "hello@example.com"
mail_from_name = "$ {app_name}"

一般的なメールドライバーは次のとおりです。

Laravelアプリケーションでメールを送信する方法は?
  • smtp - 生産に最も一般的です
  • sendmail - サーバーベースのSendMail用
  • mailgunpostmarkses - サードパーティサービス用
  • log - 送信の代わりにログメール(テストに最適)
  • array - セッションで電子メールを保存します(テストで使用)

ローカルテストには、 MailTrapなどのツールを使用してlogまたはsmtpを使用する場合があります。

2。郵送可能なクラスを作成します

職人を使用して郵送可能なクラスを生成します。

Laravelアプリケーションでメールを送信する方法は?
 PHP Artisan Make:Mail WelcomeMail

これによりapp/Mail/WelcomeEmail.phpにクラスが作成されます。 build()メソッドをカスタマイズします:

 <?php

名前空間app \ mail;

Illuminate \ bus \ Queuableを使用してください。
Illuminate \ Mail \ Mailableを使用してください。
Illuminate \ queue \ serializemodelsを使用します。

クラスWelcomeMailは郵送可能拡張です
{
    Queuable、SerializeModelsを使用します。

    public $ user;

    パブリック関数__construct($ user)
    {
        $ this-> user = $ user;
    }

    パブリック関数ビルド()
    {
        return $ this-> subject( &#39;私たちのアプリへようこそ&#39;)
                     - > view( &#39;emails.welcome&#39;);
    }
}

3.電子メールテンプレートを作成します

resources/views/emails/welcome.blade.phpでブレードテンプレートを作成します:

 <!doctype html>
<html>
<head>
    <title>ようこそ</title>
</head>
<body>
    <h1>ようこそ、{{$ user-> name}}!</h1>
    <p> {{config( &#39;app.name&#39;)}}。</p>に参加していただきありがとうございます
</body>
</html>

また、 ->text(&#39;emails.welcome_plain&#39;)を使用してプレーンテキストバージョンを追加することもできます。

4。メールを送信します

コントローラー、ルート、またはジョブから、 Mailファサードを使用します。

 Illuminate \ support \ facades \ mailを使用します。
app \ mail \ welcomemailを使用します。
app \ models \ userを使用してください。

$ user = user :: find(1);
メール:: to($ user-> email) - > send(new welcomemail($ user));

複数の受信者に送信することもできます。

メール:: to([&#39;alice@example.com&#39;、 &#39;bob@example.com&#39;])
     - > cc(&#39;manager@example.com &#39;)
     - > send(new welcomemail($ user));

5.パフォーマンスを向上させるためのキューメール

ダウンリクエストの減速を避けるために、メールをキューにします。

メール:: to($ user-> email) - > queue(new welcomemail($ user));

または、 later()を使用して配信を遅らせます。

メール:: to($ user-> email) - > later(now() - > addminutes(10)、new welcomemail($ user));

キューワーカーが実行されていることを確認してください( php artisan queue:work )。

ボーナス:Markdown Mailablesの使用

スタイル前のレスポンシブメールの場合、Markdownを使用してください。

 PHP Artisan Make:MailShipt  -  markdown = emails.orders.Shipt

次に、マークダウンコンポーネントを使用してブレードファイルにコンテンツをレンダリングします。

 @Component( &#39;メール::メッセージ&#39;)
#出荷された注文

こんにちは{{$ user-> name}}、

ご注文が発送されました!

@component( &#39;mail :: button&#39;、[&#39;url&#39; => $ url]))
ご注文を追跡します
@endcomponent

ありがとう、<br>
{{config( &#39;app.name&#39;)}}
@endcomponent

それでおしまい。 Laravelは、電子メールをクリーンでパワフルに送信します。ドライバーを構成し、郵送可能なものを作成し、テンプレートを設計し、キューを介して最適に送信します。

以上が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 ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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の構成キャッシュとは何ですか? Laravelの構成キャッシュとは何ですか? Jul 27, 2025 am 03:54 AM

Laravelの構成キャッシュは、すべての構成ファイルを単一のキャッシュファイルにマージすることにより、パフォーマンスを向上させます。生産環境で構成キャッシュを有効にすると、各リクエストでI/O操作を削減し、ファイルの解析を行うと、構成の読み込みが高速化されます。 1.アプリケーションが展開され、構成が安定しており、頻繁な変更は必要ありません。 2。構成を有効にして変更した後、phpartisanconfigを再実行する必要があります:キャッシュを有効にします。 3.構成ファイルのランタイム条件に依存する動的ロジックまたはクロージャーを使用しないでください。 4.トラブルシューティングの問題の場合、まずキャッシュをクリアし、.ENV変数を確認して、再キャッシュする必要があります。

Laravelテストでオブジェクトをock笑する方法は? Laravelテストでオブジェクトをock笑する方法は? Jul 27, 2025 am 03:13 AM

usemockeryforcustomdependenciesbysettingtintingations withshouldreceive()。2。uselaravel’sfake()methodforfacadeslikemail、queue、andhttptopreventreal interactions.3.replacecontainer-boundserviceswith

Laravel Eloquent Scopesを説明してください。 Laravel Eloquent Scopesを説明してください。 Jul 26, 2025 am 07:22 AM

LaravelのEloquentsCopesは、ローカルスコープとグローバルスコープに分割された一般的なクエリロジックをカプセル化するツールです。 1.ローカルスコープは、範囲から始まるメソッドで定義されており、post :: published()など、明示的に呼び出される必要があります。 2.グローバルスコープは、ソフト削除またはマルチテナントシステムによく使用されるすべてのクエリに自動的に適用され、スコープインターフェイスをモデルに実装および登録する必要があります。 3.スコープには、年または月ごとに記事をフィルタリングするなどのパラメーターを装備でき、呼び出し時に対応するパラメーターが渡されます。 4.コードの明確さと再利用性を改善するために使用する場合、命名仕様、チェーンコール、一時的な無効化、および組み合わせの拡張に注意してください。

Laravelで紹介システムを実装する方法は? Laravelで紹介システムを実装する方法は? Aug 02, 2025 am 06:55 AM

紹介テーブルを作成して、紹介、紹介、推奨コード、使用時間を含む推奨関係を記録します。 2.推奨データを管理するために、ユーザーモデルのBelongStomanyとHasmanyの関係を定義します。 3.登録時に一意の推奨コードを生成します(モデルイベントを通じて実装できます)。 4.登録中にパラメーターをクエリすることにより、推奨コードをキャプチャし、検証後に推奨関係を確立し、自己称賛を防ぎます。 5.推奨されるユーザーが指定された動作(サブスクリプション順序)を完了した場合、報酬メカニズムをトリガーします。 6.共有可能な推奨リンクを生成し、Laravel Signature URLを使用してセキュリティを強化します。 7.推奨事項の総数や変換された番号など、ダッシュボードに推奨統計を表示します。データベースの制約、セッション、またはCookieが持続することを確認する必要があります。

Laravelプロジェクトを実行する方法は? Laravelプロジェクトを実行する方法は? Jul 28, 2025 am 04:28 AM

CheckPhp> = 8.1、Composer、およびWebserver; 2.CloneOrCreateProjectAndRunComposErinStall; 3.Copy.Env.Exampleto.ENVANDRUNPHPARTISANKEY :generate; 4.setDatabaseCredentialSin.EnvandrunphpartisanMigrate-- Seed; 5.StartServerWithPhpartisEnserve; 6.optionallyrunnpmins

Laravelでヘルパーファイルを作成する方法は? Laravelでヘルパーファイルを作成する方法は? Jul 26, 2025 am 08:58 AM

createahelpers.phpfileinapp/helperswithcustomfunctionslikeformatprice、isactiveroute、andisadmin.2.addthefiletothe "files" sectionofcomposer.jsonunderautoload.3.3.runcomposerdump-autoloadtomadtomakeTomeTheEfunctionSglunctionSglovalliableableableableableableableableableableableableabuntion

Laravelアプリに機能フラグを実装する方法は? Laravelアプリに機能フラグを実装する方法は? Jul 30, 2025 am 01:45 AM

chooseafeatureflagstrategysuchasconfigベース、データベース駆動型、orhird-partytoolslikeflagsmith.2.setupadatabase-drivensystemby-drivensystemmigrationforafeature_flagstablewithname、evanabled、andrulesfields、thenrunthigration.3

Laravelでデータベースをシードする方法は? Laravelでデータベースをシードする方法は? Jul 28, 2025 am 04:23 AM

シーダーファイルの作成:phpartisanmake:seederuserseederを使用してシーダークラスを生成し、実行方法のモデルファクトリーまたはデータベースクエリを介してデータを挿入します。 2。Databaseseederで他のシーダーを呼び出す:sulderseeder、Postseederなどを登録$ this-> call()を介して依存関係が正しいことを確認します。 3。シーダーの実行:PHPARTISANDBを実行する:種子をすべて登録したすべてのシーダーを実行するか、PHPARTISANMIGRATE:FRESS-シードを使用してデータをリセットして補充します。 4

See all articles