ホームページ  >  記事  >  PHPフレームワーク  >  Laravel を使用して「海を越えて」メールを送信する方法を教えます

Laravel を使用して「海を越えて」メールを送信する方法を教えます

藏色散人
藏色散人転載
2020-10-16 14:15:142614ブラウズ

次のチュートリアルコラムでは、Laravel を使って「海を越えて」メールを送信する方法を紹介します。

はじめに

電子メールは、その誕生以来、人々の効率を大幅に向上させてきました。手紙を送ることは、光ファイバーケーブルで送信される通信メッセージの束に置き換えられました。 電子メールはスパム メッセージの侵入ももたらします国内のソーシャル APP の普及により、電子メールは徐々に専門的になってきています。

#今回はメールの送信方法については説明しませんので、まずはフォームを用意し、メールに必要なデータを準備しましょう。

フォーム フォームの作成

最初にコマンド ラインを使用して RESTful スタイル コントローラーを作成します:

php artisan make:controller ContactController
次に

Routes/web.php

ルーティング ファイルにリソース クラスのルーティング アドレスを登録します:

Route::get('contact', 'ContactController@create')->name('contact.create');
Route::post('contact', 'ContactController@store')->name('contact.store');

まず、フォームのビューをレンダリングするために create メソッドを実装します:

namespace App\Http\Controllers;use Illuminate\Http\Request;
use App\Http\Requests;
class ContactController extends Controller {
    public function create()
    {
        return view('contact.create');
    }
次に、作成するために説明した FormBuilder 電子メールを送信するためのフォーム。主なフィールドは次のとおりです。

name: 送信者の名前

  • email:受信者の電子メール アドレス

  • msg: 電子メールの内容

  • ビュー ファイル内のフォームの入力フィールドは次のとおりです:

    {!! Form::open([&#39;route&#39; => &#39;contact.store&#39;]) !!}<p class="form-group">
        {!! Form::label(&#39;name&#39;, &#39;Your Name&#39;) !!}
        {!! Form::text(&#39;name&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}</p><p class="form-group">
        {!! Form::label(&#39;email&#39;, &#39;E-mail Address&#39;) !!}
        {!! Form::text(&#39;email&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}</p><p class="form-group">
        {!! Form::textarea(&#39;msg&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}</p>{!! Form::submit(&#39;Submit&#39;, [&#39;class&#39; => &#39;btn btn-info&#39;]) !!}{!! Form::close() !!}
  • フォームは open

close

の間で

で囲まれていることに注意してください。

データの検証

フォームを作成した後、フォーム データを受信するメソッドを記述する必要があります。受信して処理する前に、検証するにはデータが有効な性別である必要があります。 先ほど説明した、FormRequest オブジェクトを使用してフォーム フィールドを検証したことを思い出してください。

コマンド ラインでフォーム バリデーターを作成します:

php artisan make:request ContactFormRequest

ロジックを単純化するために、バリデーターを呼び出すすべてのコードを追加し、権限に関係なく検証を強制する必要があります。

authorize

メソッドを変更します:

public function authorize(){
    return true;}

次に、検証ルールを定義します。組み込みルールで十分です:

public function rules(){
    return [
        &#39;name&#39; => &#39;required&#39;,
        &#39;email&#39; => &#39;required|email&#39;,
        &#39;msg&#39; => &#39;required&#39;
    ];}

##Combined

送信されたフォームとバリデーターを使用して、データを処理してデータベースに書き込む必要があります。コントローラー ContactControllerstore

メソッドに次のコードを記述します。

ヘッダーにバリデータを導入します:

use App\Http\Requests\ContactFormRequest;
依存関係注入を使用して呼び出します:
public function store(ContactFormRequest $request){
    $contact = [];
    $contact[&#39;name&#39;] = $request->get(&#39;name&#39;);
    $contact[&#39;email&#39;] = $request->get(&#39;email&#39;);
    $contact[&#39;msg&#39;] = $request->get(&#39;msg&#39;);

    // 邮件发送逻辑代码
    return redirect()->route(&#39;contact.create&#39;);}

最後に記述します

電子メールの送信は、オペレーティング システムとアプリケーション プログラムの統合の問題です。上記の 3 番目のセクションで電子メールを送信するためのロジック コードについては、次の記事で説明します。 この記事は短い記事ですが、フォームから検証、データ対話に至るすべての側面について説明しており、そこからlaravelの処理プロセスを理解することができます。

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

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。