Mail php : pas d'envoi...

Résolu/Fermé
Profil bloqué - 26 mars 2013 à 19:21
 Profil bloqué - 7 avril 2013 à 21:09
Bonjour à tous !


J'ai un petit problème : je pense avoir fait un formulaire de contact qui marche (qui envoi en php à une page qui envoi le mail) mais je ne reçois aucun mail... comme si c'était bloqué par l'hébergeur.

J'ai essayé sur un autre hébergeur : même problème.

Vous pouvez trouver le site ici : http://dynami.hebergratuit.com
La page concernée est la page contact.html qui envoi le mail à formmail.php


Merci de vos idées !!!
A voir également:

6 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
26 mars 2013 à 21:28
Bonsoir,

Souvent sur ce type d'hébergement, la fonction mail() est inhibée.

A+
0
Profil bloqué
27 mars 2013 à 09:31
Ca serait vraiment bien ça, étant donné qu'il s'agit juste de serveurs provisoirs pour que je vois comment ça réagit online.

On va croiser les doigts !
0
Utilisateur anonyme
27 mars 2013 à 10:30
Bonjour

Si j'en crois la page d'inscription https://www.hebergratuit.com/inscription.html , la fonction mail() est activé.

Peux-tu montrer ton script d'envoi de mail (attention aux mots de passe s'il y en a) ?
0
Profil bloqué
27 mars 2013 à 10:49
Pour le formulaire : view-source:http://dynami.hebergratuit.com/contact.html

Pour son traitement :

<?php
$mail = 'q.varaldi@gmail.com'; // Déclaration de l'adresse de destination.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
    $passage_ligne = "\r\n";
}
else
{
    $passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Nom : ".$_POST["nom"]."Société : "$_POST["societe"].$passage_ligne.$_POST["message"];
$message_html = "Nom : ".$_POST["nom"]."Société : "$_POST["societe"].$passage_ligne.$_POST["message"];
//==========
  
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
  
//=====Définition du sujet.
$sujet = $_POST["objet"];
//=========
  
//=====Création du header de l'e-mail.
$header = "From: \"Varaldi\"<q.varaldi@gmail.com>".$passage_ligne;
$header.= "Reply-to: \"Varaldi\" <".$_POST["mail"].">".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
  
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
  
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
location:('index.php');
?>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
27 mars 2013 à 10:58
Je n'ai pas encore regardé le contenu du mail lui même, mais déjà, peux-tu faire

un die ('ok'); juste avant l'appel à mail pour voir que ça va bien jusque là ?
Puis, si ça va bien retirer ce die et modifier le mail :
if (mail($mail,$sujet,$message,$header)) die (' mail ok') ; else die('mail ko');


Et enfin, ton location: ne veut rien dire. En tous cas, pas ce que tu crois : il faut faire
header("Location: index.php");
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 27/03/2013 à 11:15
Bonjour,

Vous vous embettez bien à tout construire. Si vous passez par Zend Framework, voici ce que donne un envoi de mail:

// Utilisaton module Mail de Zend Framework 
require_once 'Zend/Loader.php'; 
Zend_Loader::loadClass ('Zend_Mail' ); 
$mail = new Zend_Mail('UTF8'); 
$mail->setBodyHtml($Message); 
$mail->setFrom($_POST['from']); 
$mail->addTo('---ici adresse mail destinataire----'); 
$mail->setSubject(stripslashes($_POST['sujet'])); 
?> 
    <p><?php 
    try { 
        $mail->send(); 
    } catch (Exception $e) { 
        echo "Mailer Erreurs: ". $e->getMessage(); 
        die; 
    } 
    ?> </p>
    <b>le message a bien été transmis au <i>destinataire</i></b></p>


En savoir plus sur Zend Mail:
https://framework.zend.com/manual/1.12/fr/zend.mail.introduction.html

A+
0
Profil bloqué
27 mars 2013 à 11:55
Rien n'y fait, ni l'un, ni l'autre...

Je pense qu'il y a un problème au niveau du serveur...
0
Profil bloqué
7 avril 2013 à 21:09
Salut à tous !

C'était bien l'hébergement qui était incompatible, bien que l'hébergeur lui-même ne le savait pas...
0