[résolu, par une alternative] Pas d'envoi de mail avec plxMyContact

antistressantistress Member
novembre 2020 modifié dans Plugins

Bonjour,
Avec la dernière version de PluXml et du plugin, toute la procédure fonctionne sauf qu'aucun mail n'est envoyé.
Pourtant dans les paramètres de PluXml le mail est activé et le mail-test fonctionne (et j'ai vérifié les indésirables)

Avant j'avais collé le code formulaire de contact jadis proposé dans le wiki (Page statique Pluxml : formulaire de contact # revision 1.2 pour PluXml 5.1.2) dans une page statique mais je me suis aperçu que le capcha est devenu insoluble...

Merci d'avance

<?php
# Page statique Pluxml : formulaire de contact
# revision 1.2 pour PluXml 5.1.2

if(!defined('PLX_ROOT')) exit;

# Renseignez ici votre adresse mail
$email = 'mon-mél';

# Notre capcha
$capcha = new plxCapcha();

# Nos variables
$erreur = '';
$succes = '';

if(!empty($_POST)) { # Formulaire valide

    if($_POST['rep2'] == sha1($_POST['rep'])) { # Capcha valide 5.1b
        $_POST['nom'] = trim($_POST['nom']);
        $_POST['content'] = trim($_POST['content']);
        $_POST['ip'] = plxUtils::getIp();
        # On verifie les donnees
        if(empty($_POST['nom']) OR empty($_POST['mail']) OR empty($_POST['content']))
            $erreur = 'Merci de remplir tous les champs obligatoires';
        if($erreur == '' AND !plxUtils::checkMail(trim($_POST['mail'])))
            $erreur = 'L\'adresse mail saisie n\'est pas valide';
        # On peut envoyer si pas d'erreur
        if($erreur == '') {
            $corps = 'Son nom : '.$_POST['nom']."n";
            $corps .= 'Son mail : '.$_POST['mail']."n";
            $corps .= 'Son adresse IP : '.$_POST['ip']."n";
            $corps .= 'Son message : '."n";
            $corps .= $_POST['content'];
            # On peut retirer certains caracteres (enlever // de la ligne suivante)
            //$corps = str_replace("r"," ",$corps);
            # On envoi le mail
            $headers = 'From: '.$_POST['mail']."\r\n";
            $headers .= 'MIME-Version: 1.0'."\r\n";
            $headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."\r\n";
            $headers .= 'Content-transfer-encoding: 8bit'."\r\n";
            if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
                $succes = 'Message envoyé :-)';
            else
                $erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
        }
    } else { # Capcha non valide
        $erreur = 'la vérification anti-spam a échouée';
    }
} else {
    # Initialisation
    $erreur = 'Merci de remplir le formulaire ci-dessous';
    $_POST['nom'] = '';
    $_POST['content'] = '';
    $_POST['mail'] = '';
}
?>
<div id="form">
    <p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
    <?php if(!empty($erreur) OR empty($_POST)): ?>
        <form action="#form" method="post">
                <label for="nom">Votre nom :<br />
</label><input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['nom']) ?>" maxlength="30" /><br />
<label for="mail">Votre e-mail :<br />
</label><input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['mail']) ?>" /><br /><br />
<label for="content">Votre message :<br />
</label><textarea name="content" cols="60" rows="12"><?php echo plxUtils::strCheck($_POST['content']) ?></textarea><br />
<br />
                <label for="rep">Vérification anti-spam :</label>
                <p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
                <input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
                <p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
        </form>
    <?php endif; # Fin du if si mail envoye ?>
</div>

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.