ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ数量
9
10
1
3
1
2
17
7
1
1
4
13
4
1
2
304
1
9
2
7
21
5
1
30
3
3
1
6
1
1
46
1
3
3
1
1
1
1
1
1
33
46
7
9
10
8
10
3
17
2
9
2
2
6
9
1
1
6
11
4
3
3
2
1
8
2
4
1
6
30
2
12
3
3
1
1
2
3
2
1
3
4
3
3
4
2
2
1
1
2
1
2
1
2
1
27
2
1
3
2
2
1
1
2
3
17
5
9
1
1
2
16
2
6
1
2
12
1
3
1
1
4
11
1
6
2
2
7
1
3
3
13
1
4
1
1
10
3
1
17
3
1
5
1
2
1
1
2
9
2
2
3
2
1
3
1
3
1
2
2
2
1
2
6
1
4
3
5
1
3
1
3
3
2
1
1
30
1
3
3
1
1
1
4
5
1
36
2
4
2
1
2
2
3
1
1
1
4
1
2
1
3
1
1
1
2
5
2
5
2
1
1
1
5
3
2
4
4
1
2
2
25
1
1
3
4
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
18
7
1
4
1
1
3
1
2
1
1
2
1
1
1
1
1
1
2
1
1
2
1
1
1
1
1
1
1
2
2
1
1
1
1
2
1
1
2
1
1
10
1
1
1
1
1
1
11_php:02_framework:01_laravel:30_laravel_mail

30 Laravel Mail

Laravel でメール送信

1.設定ファイル.env

設定はlaravel/config/mail.phpで行っていますが、実際の記述は.envファイルに記述する

MAIL_DRIVER=smtp
MAIL_HOST=mail.hogehoge.net
MAIL_PORT=25
MAIL_USERNAME=info@hogehoge.net
MAIL_PASSWORD=hogepassword
MAIL_ENCRYPTION=null

2.mailableクラスを生成

php artisan make:mail MailSend

下記のファイルができる。

$ ll app/Mail/MailSend.php

3.メール本文作成

$ cat resources/views/mail/MailSend.blade.php

{{$content->name}} さんはじめまして。
テストメール

4.mailableクラスの変更

app/Mail/MailSend.php

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class MailSend extends Mailable
{
    use Queueable, SerializesModels;

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

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from('info@hogehoge.com') // 送信元
            ->subject('メールたいとる') // メールタイトル
            ->text('mail.MailSend') // どのテンプレートを呼び出すか
            ->with(['contact' => $this->contact]); // withオプションでセットしたデータをテンプレートへ受け渡す
    }
}

5.コントローラ設定

use App\Mail\MailSend;
use Illuminate\Support\Facades\Mail;

        $contents->name = $request->get('name');
        Mail::to('to@hogehoge.net')
            ->bcc('bcc@hogehoge.net')
            ->send(new VpsDiskusageMail($contents));
11_php/02_framework/01_laravel/30_laravel_mail.txt · 最終更新: 2022/01/14 18:34 by matsui

Yesterday:1643 Today:363 Total:98555