IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction mail()


Sujet :

Langage PHP

  1. #1
    Membre du Club

    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 41
    Points : 47
    Points
    47
    Billets dans le blog
    1
    Par défaut fonction mail()
    salut ;
    j'ai travaillé avec le code suivant pour envoyer un mail de confirmation d'inscription
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    session_start();
    if(!empty($_POST['valider']))
    {
    // D'abord, je me connecte à la base de données.
    mysql_connect("localhost", "root", "");
    mysql_select_db("bddmu");
    $dbh = new PDO("mysql:host=localhost;dbname=bddmu","root","");
    $passe = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
    $passe2 = mysql_real_escape_string(htmlspecialchars($_POST['pass2']));
    $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
    $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
    $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
    $sexe = mysql_real_escape_string(htmlspecialchars($_POST['sexe']));
    $pssodo = mysql_real_escape_string(htmlspecialchars($_POST['pssodo']));
    $cle = md5(microtime(TRUE)*100000);
     
     $valid=true;
     
      if($_SERVER['REQUEST_METHOD']==='POST' && isset($_POST['code']) && !empty($_POST['code']) && $_POST['code']===$_SESSION['verif']){
    mysql_query("INSERT INTO utilisateur VALUES('','$nom','$prenom','$pssodo','$sexe','$passe','$mail')");
    $lastid=mysql_insert_id();
    $stmt = $dbh->prepare("UPDATE utilisateur SET cle=:cle WHERE username=:pssodo");
    $stmt->bindParam(':cle', $cle);
    $stmt->bindParam(':username', $pssodo);
    $stmt->execute(array (
          'cle'=>$cle,
          'pssodo'=>$pssodo));
    /*$stmt->execute(array(
        'cle' => $cle,
    	'username' => $pssodo));
    	//'username' => $pssodo)*/
     
     
    // Préparation du mail contenant le lien d'activation
    ini_set("SMTP","ssl:smtp.gmail.com" );
    ini_set("smtp_port","465");
    ini_set('sendmail_from', 'person1@gmail.com');  
    $destinataire = $mail;
    $sujet = "Activer votre compte" ;
    $entete = "From: inscription@votresite.com" ;
     
    // Le lien d'activation est composé du login(log) et de la clé(cle)
    $message = 'Bienvenue sur VotreSite,
     
    Pour activer votre compte, veuillez cliquer sur le lien ci dessous
    ou copier/coller dans votre navigateur internet.
     
    http://votresite.com/activation.php?log='.urlencode($pssodo).'&cle='.urlencode($cle).'
     
     
    ---------------
    Ceci est un mail automatique, Merci de ne pas y répondre.';
     
     
     
     
    $retval=mail($destinataire, $sujet, $message, $entete) ;
     if( $retval == true )  
       {
          echo "Message sent successfully...";
       }
       else
       {
          echo "Message could not be sent...";
       }
     
     
    echo 'Félicitation vous êtes bien inscrit';
     
     
     
    }
    else{
    	echo $error='<h3 align="center">ERREUR SUR LE CODE DE SECURITE - <a href="javascript:history.back();">Retour au formulaire</a></h3>';exit;
    }}
     
    ?>
     
    </html>
    mais il me donne lwarning suivante: Warning: mail(): Failed to connect to mailserver at &quot;ssl:smtp.gmail.com&quot; port 465, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set()

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise plutôt PHPMailer : la fonction mail() déjà basiquement c'est une source d'embûches alors vers un serveur avec SSL et authentification c'est la mission impossible.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pas mieux, la fonction mail est ultra-basique : il faut ajouter tous les bons headers à la main et dans 90% des cas on ne sait pas quels sont les bons headers en question...

    Au passage : tu as 2 connexions à la même base dans ton script : une par l'API mysql et une par PDO. Inutile de conserver les deux, remplace les appels par mysql_xxxx par des appels par PDO.

Discussions similaires

  1. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21
  2. [Mail] problème avec la fonction mail()
    Par chorokari dans le forum Langage
    Réponses: 7
    Dernier message: 03/11/2006, 19h20
  3. [Mail] Problème avec la fonction mail
    Par acieroid dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2006, 20h07
  4. Réponses: 7
    Dernier message: 10/06/2006, 14h31
  5. [Mail] problème avec la fonction mail()
    Par artotal dans le forum Langage
    Réponses: 2
    Dernier message: 13/11/2005, 03h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo