Laravel 6

Laravel probleme d'envoie des mail

Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

je veux envoyer automatiquement un email à l'administrateur lors de l'enregistrement d'un nouvel utilisateur sous laravel mais j'aperçois cette erreur Call to undefined method App\Notifications\NewUser::via(). je suis ce tutoriel https://dev.to/povilaskorop/laravel-approve-new-registered-users-from-administrator-3nbh?signin=true

NewUser.php

Posté il y a 1 mois
Avatar de KYoann
KYoann

Salut,

Dans le tuto que tu as utilisé je ne vois pas la méhode ::via(), celle qui t'es indiqué comme non défini par le message d'erreur que tu reçois.

C'est une méthode que tu as rajouté our personnaliser l'application du totu ? ou une faute de frappe ?

Posté il y a 1 mois
Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

Non je n'ai rien ajouter la methode ::via() vient tout seule.

Posté il y a 1 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

Pour pouvoir t'aider, il nous faudrait l'erreur en entier et le code associé. Tu dois avoir App\Notifications\NewUser::via() avec fichier.php l.123 etc. Tu n'aurai pas ton code source sur gitHub pour qu'on y jette un oeil ?

En plus, je me trompe peut-être, mais ton tuto ne fais pas ce que tu veux faire. Il est fait pour valider un inscription mar un admin, pas ou envoyer simplement un mail au nouvel utilisateur.

Posté il y a 1 mois
Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

svp anydesk pour maider

Posté il y a 1 mois
Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

Mais peux tu m'aider à resoudre le probleme. je ne comprend d'où vient cette erreur App\Notifications\NewUser::via() l'admin devrait recevoir un mail à chaque inscription d'un utilisateur enfi de pouvoir valider son compte. Voilà mon objectif.

Voici mon code : NewUser.php

    `namespace App\Notifications;

use App\User; use Illuminate\Bus\Queueable; //use Illuminate\Notifications\Notification; use Notification; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Messages\MailMessage;

class NewUser extends Notification { use Queueable;

private $new_user;

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


/**
 * Get the mail representation of the notification.
 *
 * @param  mixed  $notifiable
 * @return \Illuminate\Notifications\Messages\MailMessage
 */
public function toMail($notifiable)
{
    return (new MailMessage)
        ->line('Un nouvel utilisateur a été enregistré par email' .$this->new_user->email)
        ->action('Approve user', route('admin.users', $this->new_user->id));
}

} `

              RegisterController.php
              
              
              `namespace App\Http\Controllers\Auth;

use App\Notifications\NewUser; use App\Http\Controllers\Controller; use App\User; //use Illuminate\Notifications\Notification;

use Notification; use App\Models\Structure; use App\Models\Direction; use App\Models\Service; use App\Models\Role; use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Auth\Events\Registered;

class RegisterController extends Controller {

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'prenom' => ['required', 'string', 'max:255'],

        'matricule' => ['required', 'string', 'max:255', 'unique:users'],
        'fonction' => ['required', 'string', 'max:255'],
        'emploi' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}

protected function create(array $data) {
$id_str=null; $id_direct=null; $id_ser=null; if (strcmp($data['structure'], "null")!=0) { $id_str=$data['structure']; } if (strcmp($data['direction'], "null")!=0) { $id_direct=$data['direction']; } if (strcmp($data['service'], "null")!=0) { $id_ser=$data['service']; }

    $user = User::create([
        'name' =>   $data['name'],
        'prenom' => $data['prenom'],
        'matricule' => $data['matricule'],
        'fonction' => $data['fonction'],
        'emploi' => $data['emploi'],
        // recup id
        //'id_role'=> $data['role'],
        'id_str'=> $id_str, 
        'id_direct'=> $id_direct,
        'id_ser'=> $id_ser, 
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);

$admin = User::where('email', 'dogosidik@gmail.com')->first(); if ($admin) { $admin->notify(new NewUser($user)); }

return $user;

}

`

Posté il y a 1 mois

Vous ne pouvez pas répondre à ce sujet.