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 :

Envoi d'un e-mail


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut Envoi d'un e-mail
    Bonjour,
    J'ai un code qui envoie un mail via php, avant toute chose, voici ce code:

    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
    <?php
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"Skate2400.ch\" <admin@skate2400.ch>\n";
    $headers .= "From: \"Skate2400.ch\"<admin@skate2400.ch>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
    $destinataire = "yoann_35_@hotmail.fr";
    $subject = "test";
    $message_txt  = "Bonjour,\n\n";
    $message_txt .= "Pour confirmer votre inscription, vous n'avez qu'à donner l'id de confirmation qui vous est donné ci-dessous lors de votre première connection :\n";
    $message_txt .= "ID de confirmation : ";
    $message_txt .= "Pseudo : ";
    $message_txt .= "L'équipe de Skate 2400";
    $message_html  = "<html>\n";
    $message_html .= "<body>\n";
    $message_html .= "Bonjour,<br /><br />";
    $message_html .= "Pour confirmer votre inscription, vous n'avez qu'&agrave; donner l'id de confirmation qui vous est donn&eacute; ci-dessous lors de votre premi&egrave;re connection :<br />";
    $message_html .= "ID de confirmation : ";
    $message_html .= "Pseudo : ";
    $message_html .= "L'&eacute;quipe de Skate 2400";
    $message  = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";
    if(mail($destinataire, $subject, $message, $headers))
    	echo 'le mail a bien été envoyé';
    else
    	echo 'Echec lors de l\' envoie du mail';
    ?>
    J'ai installé argosoft(un serveur SMTP), j'ai bien vérifié que le fichier php.ini était sur localhost(j'ai aussi essayé 127.0.0.1), mais rien n'y fait, à chaque fois il m'affiche Echec lors de l'envoie du mail.
    Je n'ai aucun log sur mon serveur SMTP, donc à mona vis il n'arrive pas à le joindrE.

    J'ai aussi testé avec la classe phpmailer:
    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
    <?php
    include "phpmailer/class.phpmailer.php";
     
    $mail = new PHPmailer();
    	$mail->From='monadresse';
    	$mail->Host='localhost';
    	$mail->AddAddress('destinataire');
    	$mail->AddReplyTo('mon adresse');	
    	$mail->Subject='Exemple trouvé sur DVP';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  echo 'Mail envoyé avec succès';
    	}
    	unset($mail);
     
     
    ?>
    et là il me met l'erreur: Could not instantiate mail function.
    et dans le log de argosoft j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    08/05/2010 14:31:10 - SMTP connection with 127.0.0.1 ended. ID=7
    08/05/2010 14:31:22 - Requested SMTP connection from 127.0.0.1
    Quelqu'un sait il d'ou provient le problème??

    Merci d'avance

  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
    Par défaut
    Est-ce qu'un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($destinataire, $subject, 'test')
    fonctionne ?

    Verifie que tu affiches bien les erreurs de type warning.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    Déjà merci de ta réponse.
    Je viens d'activer le display_error dans le php.ini, et j'ai essayé juste comme tu m'as dit, même erreur.
    Avec phpmailer cependant, erreur différente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SMTP Error: The following recipients failed: monadresse@hotmail.fr

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    il ne faut pas que tu mettes localhost pour ton stmp dans php.ini mais le smtp de ton FAI

    Pour moi :

    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = smtp.orange.fr
    ; http://php.net/smtp-port
    smtp_port = 25

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    Non mais je veux utiliser mon serveur SMTP local.
    En fait c'est sur un serveur dédiee microsoft

    J'ai essayé avec différents serveurs SMTP mais vu que c'est un serveur dédiée de chez microsoft je ne sais pas quel est le fournisseur d'accès.

    voilà la nouvelle erreur avec la classe phpmailer:
    SMTP Error: Could not connect to SMTP host.

    Merci d'avance

Discussions similaires

  1. [Mail] problème d'envoi de formulaire par mail
    Par alpking dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2006, 19h12
  2. Bloquer l'envoi de pages par mail dans IE 6
    Par Anemhedd dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 26/06/2006, 09h29
  3. Envoi des données via mail
    Par zorba49 dans le forum ASP
    Réponses: 4
    Dernier message: 10/04/2006, 14h35
  4. perl-MIME-Lite n'envoie plus d'e-mail : prérequis ?
    Par kafifi dans le forum Modules
    Réponses: 6
    Dernier message: 25/11/2005, 13h12
  5. Envoi automatique d'un mail toutes les heures
    Par VirginieGE dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 08h10

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