Aller au contenu principal
Version: 0.6.3

Premier envoi

L'envoi d'email est géré par Elementum via la façade Mail.

Avant toute chose, veillez à avoir bien rempli votre configuration SMTP dans le fichier config/smtp.yaml.

astuce

Si vous ne l'avez pas dans votre projet, vous pouvez le cloner via la commande php dobby publish et choisir celui qui provient d'Elementum.

Par défaut, Elementum est en environnement de développement et possède la configuration SMTP pour l'outil de capture : Maildev.

astuce

Si vous ne disposez pas de Maildev, vous pouvez facilement l'installer via npm install -g maildev et ainsi l'exécuter avec la commande maildev.

Maintenant que votre configuration est bonne, rendez-vous dans un controller pour y ajouter le code suivant :

app/Controller/EmailController.php
use Elementum\Facades\Mail;
use Symfony\Component\HttpFoundation\Request;

#[Route('/send-email', name: "send.email", methods: ['POST'])]
public function firstSendingEmail(Request $request){
    $data = $request->request->all();

    $mail = Mail::to('user@example.com')
    ->from($data->email, $data->name)
    ->subject("Test d'email")
    ->message("Bonjour {$data->name}, voici votre email de test.");

    if($mail->send()){
        $this->flashSuccess("Votre message a bien été pris en compte. Merci !");
    }else{
        $this->flashError("Une erreur est survenue lors de l'envoi de votre message.");
    }

    $this->redirectBack();
}