2017-03-27 2 views
1

連絡フォームの電子メールテンプレートのスタイルを変更するためにマークダウン機能を使用できますか?私は、コンタクトフォームからメッセージを送信するために、このメソッドを使用していた:電子メールを送信する連絡先フォームの小文字のメールを使用

方法:

 Mail::send('emails.contact', $data, function($message) use ($data){ 
     $message->from($data['email']); 
     $message->to('[email protected]'); 
     $message->subject($data['subject']); 
    }); 

contact.blade.php

<h3>You have a new email via contact form</h3> 
<div> 
{{ $bodyMessage }} 
</div> 
<p>Sent by: {{ $email }}</p> 

答えて

0

をあなたのコードですべての問題を持っていないようだと、私はあなたに間違った印象を与えて、問題がある場合は、コメントを自由にして更新します。

5.4より、はい。 Laravelの文書を参照することをお勧めします。メールや一般的なメールの徹底的な説明があります。

0

電子メールでマークダウンを使用するには、mailableクラスを使用する必要があります。

php artisan make:mail ContactFormコマンドを実行して、mailableクラスを作成します。 ContactFormクラスで

、あなたのbuild方法は、このようなものでなければなりません:mailableクラスを生成しながら

public function build() 
{ 
    return $this->from('[email protected]') 
     ->markdown('emails.contact'); 
} 

あなたはまた、ビューの名前に値下げフラグを渡すことで自動的にマークダウンビューを関連付けることができます:メールを送信するために

php artisan make:mail --markdown=view.name 

、あなたはこのようにそれを呼び出すことができます。

Mail::to($email)->send(new ContactForm($data)); 

mailableの変数$dataにアクセスするには、公開変数として宣言する必要があります。 mailableクラスで定義されているすべてのパブリックプロパティは自動的に表示されます。例:

class ContactForm extends Mailable 
{ 
    use Queueable, SerializesModels; 

    public $data; 

    /** 
    * Create a new message instance. 
    * 
    * @param $data 
    */ 
    public function __construct($data) 
    { 
     $this->data = $data; 
    } 
    ... 
} 

ビューファイルでは、他のブレードテンプレートと同様に、変数に通常アクセスできます。例:

Sender email: {{ $data['email'] }} 

ブレード・ビューからビルドする代わりに値下げのContactFormクラスのビューでmarkdownを交換したい場合は

公式ドキュメントの詳細を見ることができます。

https://laravel.com/docs/master/mail#writing-mailables

+0

どのように私はこれのContactFormクラスで私の連絡先フォームのアクションを結ぶのですか? –

+0

ウェブサイトの連絡フォームに記入されたデータにアクセスすることについて言及している場合は、その回答を更新しました。 – SUB0DH

関連する問題