Электронная почта не отправляется контроллеру реестра - PullRequest
1 голос
/ 14 июля 2020

Я пытаюсь отправить электронное письмо после успешной регистрации, но не могу отправить

вот код контроллера регистрации

protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'city' => $data['city'],
            'gender' => $data['gender'],
            'password' => Hash::make($data['password']),
            'parentname' => $data['parentname'],
            'relation' => $data['relation'],
            'phonenumber' => $data['phonenumber'],
            'email' => $data['email'],
            'address' => $data['address'],
            
        ]);

         $details=[
            'title' => 'title :Check Mail fucntion',
            'body'  => 'test purpose',
        ];

        Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
        return view('mail.thanks');

    }

, если я использую эту почту функция в

public function __construct()
    {
        $this->middleware('guest');
    }

Затем его отправка по электронной почте

Ответы [ 3 ]

2 голосов
/ 14 июля 2020

Возвращается первая строка в вашем методе create (). Это означает, что больше ничего в методе выполняться не будет. Вам нужно перехватить результаты User :: create () в переменную, выполнить остальные действия, а затем вернуть эти результаты.

protected function create(array $data)
{
    User::create([
        'name' => $data['name'],
        'city' => $data['city'],
        'gender' => $data['gender'],
        'password' => Hash::make($data['password']),
        'parentname' => $data['parentname'],
        'relation' => $data['relation'],
        'phonenumber' => $data['phonenumber'],
        'email' => $data['email'],
        'address' => $data['address'],
        
    ]);

     $details=[
        'title' => 'title :Check Mail fucntion',
        'body'  => 'test purpose',
    ];

    Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));

    Mail::to('otheremail@gmail.com')->send(new AdminNewAccount($details));

    return view('mail.thanks');
}

Изменить: я обновил это, чтобы показать пример второго электронного письма, а также удален дублированный оператор возврата.

1 голос
/ 14 июля 2020

Вы можете поймать ошибку по Swift_TransportException, например:

try {
        Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
} catch(\Swift_TransportException $e) {
        $response = $e->getMessage(); // catch the error here
}
0 голосов
/ 14 июля 2020

вам необходимо очистить конфигурацию для использования новых конфигураций. выполните следующие команды в своем терминале.

php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan config:cache
...