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

EDI, CMS, Outils, Scripts et API PHP Discussion :

envoi mail erreur header missing


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut envoi mail erreur header missing
    Bonjour

    Je souhaiterais que les futurs visiteurs de mon site puisse m'envoyé des emails à partir d'un formulaire.

    Voici l'erreur
    Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files (x86)\EasyPHP-5.3.9\www\endourworld\contact.php on line 23
    Code: php
    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
     
    <?php
     
    if(!empty($_POST) && !empty($_POST['nomcontact']) && !empty($_POST['mailcontact']) && filter_var($_POST['mailcontact'],FILTER_VALIDATE_EMAIL) && !empty($_POST['textemessage']))
     
    {
    $nomcontact ='abc';
    $mailcontact = 'def';
    $textemessage = 'ghi';
    $email = 'jkl';
     
    $nom = strip_tags($nomcontact);
    $email = strip_tags($mailcontact);
    $textemessage = strip_tags($textemessage);
     
    $to ='monemail@outlook.fr';
    $subjet = $nom.'Vous envoi un message';
    $textemessage = nl2br($textemessage);
     
    $headers = 'from'.$email."\r\n";
    $headers = 'MIME-version: 1.0'."\r\n";
    $headers = 'content-type: text/html; charset=utf-8'."\r\n";
     
    mail($to,$subjet,$textemessage,$headers);
     
     
     
     
    }
    else{
     
    extract($_POST); 
     
    if(empty($nomcontact)){echo 'indiquez votre nom<br />';}
    if(empty($mailcontact) || !filter_var($mailcontact,FILTER_VALIDATE_EMAIL)){echo 'indiquez un email valide<br />';}
    if(empty($textemessage)){echo 'indiquez votre message<br />';}
    }
     
    ?>
    Je ne comprends pas pourtant, j'ai paramétré php.ini

    D'où provient l'erreur ?

    A bientôt
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Pour le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers = 'from'.$email."\r\n";
    Après "from" il faut ajouter ":" et "<>" pour commencer, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers = 'From: <'.$email.">\r\n";
    J'en profite d'ailleurs pour recommander d'utiliser plutôt PHPMailer, qui est une des meilleures solutions pour l'envoi de mail en PHP, une documentation de mise en place ICI

    Si ça ne fonctionne quand même pas avec la correction, essaye de faire un tour ICI et éventuellement compléter ton code et/ou modifier les entêtes.

    Cordialement

    EDIT : J'ai testé votre code sur mon serveur et même avec votre syntaxe de header je reçois l'email. Peut-être que votre configuration php.ini à un problème ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut
    Re bonjour

    J'ai changé le $headers ça ne fonction toujours pas.

    Voici les modifications que j'ai réalisé dans php.ini

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

    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = emailFAI@orange.fr


    Ai-je oublié de modifier un élément ?


    A bientôt
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  4. #4
    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
    Tu n'as pas retiré le ; devant sendmail_from
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut
    Merci

    Après avoir retiré ;

    Voici la nouvelle erreur

    Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.orange.fr" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files (x86)\EasyPHP-5.3.9\www\endourworld\contact.php on line 23

    Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files (x86)\EasyPHP-5.3.9\www\endourworld\contact.php on line 23
    C'est orange qui ma fourni les paramètres smtp.

    A bientôt
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    Re bonjour,

    Ils ne vous ont fournis que le port et le smtp ? Généralement il y a une méthode d'authentification, avec username/mot de passe, surtout en SSL. Il n'arrive sûrement pas à se connecter pour cette raison.

    Cordialement

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut
    Bonjour

    Est-ce qu'il faut username/mot de passe du fai(orange) que l'on doit mettre dans le php.ini ?

    J'ai trouvé cette http://php.net/manual/fr/ref.mail.php


    A bientôt
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  8. #8
    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
    Comme te l'as indiqué Nizalify, il vaut mieux utiliser PHPMailer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/05/2015, 14h42
  2. CDO envoie mail, erreur STARTTLS
    Par AcidWily dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/09/2009, 16h30
  3. [Automation]envoi mail : erreur composant ActiveX
    Par offspring dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/05/2008, 16h02
  4. [VB6]erreur d'envoie mail, pourquoi??
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/05/2006, 14h43
  5. [Mail] Erreur d'envoi
    Par nebil dans le forum Langage
    Réponses: 10
    Dernier message: 02/04/2006, 15h57

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