Bonjour,
Voici mon code d'un de mes controllers :

public function contact()
    {
        if(isset($this->request->data->submit) AND $this->request->data->submit == "Envoyer"){
            $data = $this->request->data;
            if(isset($data->email) AND !empty($data->email)){
                if(isset($data->message) AND !empty($data->message)){
                    $mess="Email: ".$data->email."\r\n";
                    if(isset($data->name) AND !empty($data->name)){
                        $mess.="Nom: ".$data->name."\r\n";
                    }
                    $mess.="Message:\r\n".$data->message;
                    if(mail("monemail@est.ici", $data->subject, $mess)){
                        $this->Session->setFlash('Votre message a bien été envoyé.');/* Ce message est visible */
                    }
                }
                else{$_SESSION'Errorform']=array();}
            }
            else{$_SESSION'Errorform']=array();}
            if(!isset($data->email) OR empty($data->email)){
                $_SESSION'Errorform']'email']=true;
            }
            if(!isset($data->message) OR empty($data->message)){
                $_SESSION'Errorform']'message']=true;
            }
        }
    }

Mon problème est que mon mail ne s'envoi pas alors que le message à l’intérieur de la condition s'affiche.

if(mail("monemail@est.ici", $data->subject, $mess)){
        $this->Session->setFlash('Votre message a bien été envoyé.');/* Ce message est visible */
}

Pitié aidez moi je ne comprend pas comment ça se fait :(.

Merci d'Avance.

10 réponses


LesTutossUE4
Auteur
Réponse acceptée

La solution était des plus simple.
OVH m'avait bloqué mes envois de mail à cause de 7 plaintes de spam.

Merci pour vos réponses quand même.

tu fais partir ton mail depuis ton ordi (en local quoi)? si oui il y a des chances que ça vienne de la
perso j'utilise pas la fonction mail directement je passe par la (l'excellente) classe swiftMailer (supportée par symfony si je ne dis pas de bétise) et une fois tout paramétré 0 pb

:)

Non je ne suis pas en local mais sur mon hebergement OVH.
Un lien ? un Tuto ?

Ben tu devrais voir si tu as droit d'envoyer des mails de ton OVH.

Oui avec un autre de mes sous-domaines ça fonctionne.
Le plus bizarre c'est que apparemment, la fonction mail(); retourne true.

Tu as vérifié tes spams ?

(On y pense pas toujours ...)

Adresse @mondomaine.com sans anti-spam x)

perso j'ai pas de pb avec ovh sur le cms que je déploie les mails partent bien je suis sur un mutualisé pro

Juste une petite question. Vous avez configuré quoi comme serveur d'envoi ?? J'ai beau essayer localhost ou mon nom de domaine, rien n'y fait.