mail設定

★★★.envファイルにメール送信のための設定★★★
MAIL_ADMIN=○○@○○
 
 
 
Laravel Sailの場合 http://localhost:8025/
 
 
 
 
★★★CONFIGファイルの設定(configの中の mail.phpファイル)★★★
admin'=>env('MAIL_ADMIN', null),
 
 
 
★★★ContactContoroller.php★★★
use Illuminate\Support\Facades\Mail;
use App\Mail\ContactForm;
 
   public function store(Request $request)
    {
        $inputs=request()->validate([
            'title'=>'required|max:255',
            'email'=>'required|email|max:255',
            'body'=>'required|max:1000',
        ]);
 
        Contact::create($inputs);
 
        Mail::to(config('mail.admin'))->send(new ContactForm($inputs));
        Mail::to($inputs['email'])->send(new ContactForm($inputs));
 
        return back()->with('message','メールを送信しました。');
   }
 
 
別例1)
$amount=$payload['data']['object']['amount'];
  Mail::to('test@test')->send(new \App\Mail\NewMember($amount));
  return 'OK';
 
新規Mailableクラスを作成
★★★php artisan make:mail ContactForm★★★
 
 
app/Mail/ContactForm.php
<?php
 
namespace App\Mail;
 
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
use Illuminate\Mail\Mailables\Address;
 
class ContactForm extends Mailable
{
    use Queueable, SerializesModels;
 
    public $inputs;
 
    public function __construct($inputs)
    {
        $this->inputs = $inputs;
    }
 
//件名
    public function envelope()
    {
        return new Envelope(
            subject: 'お問い合わせを受け付けました',
        );
    }
 
//メールの中身となるビューファイルの場所を指定
    public function content()
    {
        return new Content(
//resources/views/emailsの中にcontact.blade.php
            view: 'emails.contact', 
        );
    }
 
//添付ファイルを設定
    public function attachments()
    {
        return [];
    }
}
 
 
★★★メール本文の作成★★★
resources/views/contact.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>お問い合わせを受け付けました</title>
</head>
<body>
    <p>お問い合わせ内容は次のとおりです。</p>
    ーーーー
    <p>件名:{{$inputs['title']}}</p>
    <p>お問い合わせ内容:{{$inputs['body']}}</p>
    <p>メールアドレス:{{$inputs['email']}}</p>
    ーーーー
    <p>担当者よりご連絡いたしますので、今しばらくお待ちください。</p>
</body>
</html>
 
 
別例1)
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>お支払い</title>
</head>
<body>
 {{$amount}}円のお支払いがありました。
</body>
</html>