日本語Englishイントロダクションメール送信(添付インライン添付キュー使用メール)メールとローカル開発イベントイントロダクションLaravelは人気の高いSwiftMailerライブラリーのクリーンでシンプルなAPIを提供しています。SES、PHPのmail機能、sendmailドライバーを提供しており、選択したローカルやクラウドベースのサービスを使い、素早くメール送信が開始できるようにしています。ドライバーの動作要件MailgunとMandrillなどAPIベースドライバーはシンプルでSMTPサーバーよりも高速です。HTTPライブラリーをアプリケーションにインストールする必要があります。5をプロジェクトに追加してください。&quot;~5.3|~6.0&quot;MailgunドライバーMailgunドライバーを使用する場合、最初にGuzzleをインストールしてください。それからconfig/mail.php設定ファイル中のdriverオプションをmailgunに設定してください。次にconfig/services.php設定ファイルが以下のオプションを含んでいるか確認してください。&#39;あなたの-mailgun-key&#39;,],MandrillドライバーMandrillドライバーを使用するには、最初にGuzzleをインストールし、次にconfig/mail.php設定ファイル中のdriverオプションを、mandrillに設定してください。それからconfig/services.php設定ファイルに以下のオプションが含まれているか確認してください。PHPをインストールしてください。composer.jsonファイルのrequireセクションに以下の行を追加し、このライブラリーをインストールします。&quot;~3.0&quot;次にconfig/mail.php設定ファイルのdriverオプションをsesに設定します。それからconfig/services設定ファイルが以下の内容になっているか確認してください。us-east-1],メール送信Laravelではメールのメッセージをビューとして保存します。メールを系統立てて利用するためにresources/viewsディレクトリーにemailsディレクトリーを作成することができます。メッセージを送るにはMailファサードのsendメソッドを使います。sendメソッドは3つの引数を取ります。第1引数はメールの内容を含んでいるビューの名前です。第2引数はビューに渡すデータの配列です。第3引数はメッセージインスタンスを受け取る「クロージャー」のコールバックで、受信者や主題、もしくは他のメールの項目をカスタマイズできます。}}上の例ではuserキーを含んだ配列を渡していますので、以下のPHPコードにより、メールの中にユーザー名を挿入することができます。$message変数はいつもメールのビューに渡され、添付のインライン埋め込みが行えます。そのためビュー本体にmessage変数を渡す必要はありません。メッセージの組み立て前述の通り、sendメソッドの第3引数は「クロージャー」で、メールの様々なオプションを指定できます。このクロージャーを使用しCCやBCCなどメッセージの他の属性を指定することもできます。$message-&gt;to(&#39;foo@example.com&#39;)-&gt;cc(&#39;bar@example.com&#39;);});$messageメッセージビルダーで使用できるメソッドの一覧です。Mail::sendクロージャーに渡されるメッセージインスタンスは、SwiftMailerメッセージクラスを拡張していますので、メールメッセージを構築するためにこのクラスのメソッドを呼び出すことができます。平文のメールデフォルトでsendメッソッドに指定するビューはHTMLで構成されているでしょう。sendメソッドの第1引数として配列を指定すると、HTMLビューに加えて平文テキストビューを指定できます。$callback);もしくは平文テキストメールだけを送る必要があるなら、配列でtextキーを指定することもできます。文字列を直接そのままメールしたい場合は、rawメソッドを使ってください。//});添付メールに添付する場合は、クロージャーに渡される$messageオブジェクトのattachメソッドを使用します。attachメソッドでは最初の引数としてファイルの完全パスを指定します。$message-&gt;attach($pathToFile);});ファイルをメッセージ添付する場合、attachメソッドの第2引数として配列を渡し、表示名やMIMEタイプを指定することもできます。$mime]);インライン添付メールのビューに画像を埋め込むメールに画像をインラインで埋め込むことは典型的な厄介事です。Laravelは画像をメールに付け、最適なCIDを得る便利な方法を提供しています。インラインイメージを埋め込むには、メールビューの中で$message変数に対しembedメソッドを使ってください。Laravelは全メールビューで自動的に$message変数を使用できるようにしていることを思い出してください。?&gt;&quot;&gt;&lt;/body&gt;メールのビューにロウ(raw)データーを埋め込むメールメッセージ埋め込む生データ文字列を既に用意してある場合は、$messageのembedDataメソッドを使ってください。?&gt;&quot;&gt;&lt;/body&gt;キュー使用メールメールメッセージのキューイングメール送信はアプリケーションのレスポンスをとても遅くしてしまうため、多くの開発者はメールメッセージをバックグラウンドでキュー送信するようにしています。Laravelでは組み込みの共通キューAPIを使用することで、簡単に取り扱えるようになっています。メールメッセージをキューに投入するには、Mailファサードのqueueメソッドを使用するだけです。//});このメソッドはバックグラウンドでメールを送信するため、自動的にジョブをキューに投入する面倒を見ます。この機能を使用する前にキューの設定を行う必要があります。遅延メッセージキューキューに投入したメールメッセージを送らせて配信したい場合はlaterメソッドを使用してください。メソッドの最初の引数として、メッセージ送信を遅らせたい秒数を指定するだけです。//});特定のキューに投入メッセージを投入するキューを指定したい場合、queueOnかlaterOnメソッドを使用します。//});メールとローカル開発メールを送信するアプリケーションを開発している間は、実際のメールアドレスにメールを送信したくはありません。Laravelはメールメッセージを実際に送信することを「無効」にする、様々な方法を用意しています。一つの解決方法は、ローカルでの開発期間中にlogメールドライバーを使用することです。このドライバーは確認できるように全メールメッセージをログに書き込みます。環境ごとのアプリケーションの設定についての情報は、設定のドキュメントで確認してください。全メールの送信先指定Laravelが提供するもう一つの解決策は、フレームワークが送信する全メールの共通受け取り先を設定する方法です。この方法を使うと送信メッセージに指定した実際のアドレスの代わりに、アプリケーションが送る全メールを特定のアドレスに送信します。この方法を使用する場合、config/mail.php設定ファイルでtoオプションを指定します。Example&#39;],Mailtrap最後の方法はMailtrapのようなサービスを使い、smtpドライバーで本当のメールクライアントで内容を確認できる「ダミー」のメールボックスへメールメッセージを送る方法です。このアプローチの利点は最終的なメールをMailtrapのメッセージビューで実際に確認できることです。イベントLaravelはメールメッセージを送信する直前に、mailer.sendingイベントを発行します。このイベントは、メールが送られる場合に発行されますが、キューイングされる場合には発行されないことに留意してください。EventServiceProviderへ、イベントリスナーを登録します。kawase(Translation).。