Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2008, 10h09   #1
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 116
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 116
Points : 27
Points : 27
Par défaut [Mail] Envoi d'un mail en php

Bonjour.

J'ai un souci d'envoi de mail quand on valide mon formulaire.
Pourtant avant ça marchait donc mon hébergeur (free) a bien activé cette fonction. J'ai essayé pas mal de manip mais rien de donne.

J'ai sans doute une erreur dans mon code mais je la trouve pas.

Voici mon code qui ajoute les info du formulaire dans ma base de donnée:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
include("configuration.php");
include("mails.php");
 
function VerifierAdresseMail($email)
{
   $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
   if(preg_match($Syntaxe,$email))
      return true;
   else
     return false;
}
 
$envoyer = $_POST['envoyer'];
$pseudo = $_POST['pseudo'];
$email = $_POST['email'];
$ville = $_POST['ville'];
$pays = $_POST['pays'];
$note = $_POST['note'];
$message = $_POST['message'];
$robot = $_POST['humain'];
 
 
if ( $envoyer != "" )
{
    if ( $pseudo != "" )
    {
if ( $email != "" )
{
    if (VerifierAdresseMail($email))
    {
if ( $ville != "" )
{
    if ( $message != "" )
    {
if ( $robot != "" )
{      
    if( mail($destinataire_livre_dor,$titremail_livre_dor,$message_livre_dor) ) 
    {
if ( mail($destinataire_livre_dor_2,$titremail_livre_dor_2,$message_livre_dor_2) ) {
 
  echo "
  Votre Message a bien été ajouté au Livre d'Or.<br/ > Merci <br/ ><br/ > Vous allez recevoir dans quelques instant un email résumant votre message.<br/ ><br/ > <a href=\"livre_dor.php\">Retour au livre d'Or</a>";
 
    // on se connect à la base de donnée
    mysql_connect("$db_host", "$db_login", "$db_pass");
 
    // on se connect à notre base créé
    mysql_select_db("$db_name");
 
		$date = date('Y-m-d H:i:s');
    // requête sql
    $sql = mysql_query("INSERT INTO $db_table_2 (id, pseudo, email, ville, pays, note, message) VALUES ('','$pseudo','$email','$ville','$pays','$note','$message')") or die ("erreur de connexion");
 
    // requête sql pour ne pas avoir la même adresse plusieurs fois dans la table email		    
		$sql = mysql_query("SELECT email from $db_table_email where email = '$email'");
 
if(mysql_num_rows($sql) == 0)
{
		$req_email = mysql_query("INSERT INTO $db_table_email (email) VALUES ('$email')") or die ("erreur de connexion"); // requete d'insertion
}      
 
  }  else {}
      }
    else { echo "
    Une erreur c'est produite pendant l'ajout de votre Message dans le Livre d'Or.<br/ >
    <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
 
 
}
else 
{
echo "Les robots et demi-robots ne peuvent remplir ce formulaire.<br />
Et si vous ne savez pas qui vous &ecirc;tes, je n'y peut rien ;)<br /><br />
<a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
    }
    else 
    { 
    echo "Vous n'avez pas saisie votre Message <br/ > <br/ >
      <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
}  
else 
{
echo "Vous n'avez pas saisie votre Département de résidence <br/ > <br/ >
  <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
    }
    else 
    {
    echo "Votre E.mail n'est pas valide <br/ > <br/ >
      <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
}
else 
{
echo "Vous n'avez pas saisie votre E.mail <br/ > <br/ >
  <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
    }
    else 
    {
    echo "Vous n'avez pas saisie votre Pseudo / Nom <br/ > <br/ >
      <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
}
else 
{
echo "Le formulaire n'a pas été transmit <br/ > <br/ >
  <a href=\"javascript:history.back()\">Retour au formulaire</a>"; }
 
?>
Voici mon code dans mails.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
 
// contenu du mail Livre d'or qui m'est envoyé
$destinataire_livre_dor = "mail@hotmail.fr";
$titremail_livre_dor = "Ajout d'un message dans le Livre d'Or";
$message_livre_dor =
"Un nouveau Message vient d'&ecirc;tre post&eacute; dans le Livre d'Or \n\n\n".
"Pseudo / Nom:" .$pseudo."\n\n".
"E.mail:" .$email."\n\n".
"Pays de résidence:" .$pays."\n\n".
"Note:" .$note."\n\n".
"Message:" .$message;
 
// contenu du mail Livre d'Or envoyé à l'auteur
$destinataire_livre_dor_2 = "$email";
$titremail_livre_dor_2 = "Ajout de votre message dans le Livre d'Or";
$message_livre_dor_2 =
"Bonjour \n\n".
"Vous recevez ce mail car vous venez d'ajouter un message dans le Livre d'Or. \n\n\n".
"Voici vos informations: \n\n".
"Pseudo / Nom:" .$pseudo."\n\n".
"E.mail:" .$email."\n\n".
"Pays de résidence:" .$pays."\n\n".
"Note:" .$note."\n\n".
"Message:" .$message."\n\n".;
 
?>
Merci pour votre aide.

PS: j'accepte volontiers vos conseils sur mon code!
VFone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 10h16   #2
Nouveau Membre du Club
 
Inscription : mars 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 48
Points : 35
Points : 35
Si tu n'arrives pas à créer un mail à la main, utilise une classe qui va bien

http://classes.scriptsphp.org/doc.mail -> simple et efficace, souvent utilisée pour les scripts d'emailing à fort trafic.
zoneaide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2008, 10h23   #3
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 116
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 116
Points : 27
Points : 27
Je te remercie zoneaide mais ça marchait très bien avant.
Je dois juste avoir une erreur dans mon code et je voudrais bien la trouver avec votre aide.
VFone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2008, 11h04   #4
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 116
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 116
Points : 27
Points : 27
J'ai refais plein de tentative mais ça ne marche toujours pas
C'est assez bizarre alors qu'avant ça marchait nickel.

Comment je peux savoir si free à limité les envoi de mail svp?
VFone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2008, 12h35   #5
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Linux France a sorti récemment un hors-série N°36 sur les serveurs mails.
On y apprends tout ce qu'il faut savoir sur le protocole SMTP. Même s'il n'y a qu'une page sur php, tout le reste est à savoir !
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 11h10   #6
Invité régulier
 
Inscription : mars 2004
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 24
Points : 8
Points : 8
Salut,

désolé je ne t'apporte aucune aide, mais juste pour te dire que je suis exactement dans le même cas que toi.

Ma page de contact hébergé chez free marchait parfaitement jusqu'à il y a quelques jours, et depuis avant hier plus rien.

Pourtant je fais des tests pour savoir si la fonction mail a réussie et elle ne retourne aucune erreur mais le mail n'arrive pas.

Free aurait-il désactivé sa fonction mail car je suis loin d'atteindre le quota de 2000 mails par semaine (à peine une dizaine)
dreamanoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2008, 10h28   #7
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 116
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 116
Points : 27
Points : 27
En regardant sur internet il apparaît que Free à enlevé la fonction mail pour ces sites perso.

C'est bien dommage mais actuellement c'est la seule réponse qui me semble la bonne.

En tout cas je vais essayer la classe que tu me propose Zoneaide.

Bonne journée à tous
VFone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h10.


 
 
 
 
Partenaires

Hébergement Web