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 :

[Mail] mail non conforme


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut [Mail] mail non conforme
    salut,
    j'utilise la fonction mail() pour envoyer un mail HTML plutot complexe (avec des pièces jointes), cependant certains serveurs mail bloquent mon mail et les destintaire ne recoivent donc rien ! Le message du serveur mail est un truc du genre :
    Le contenu du mail n'est pas conforme

    Le pb ce que certains destinataires recoivent bien le mail, bien formaté, avec les bonne pièces jointes...
    Comment vérifier que le mail est conforme ?

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449

  3. #3
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    merci je vais essayer d'utiliser une des ces api
    mais comment je peux tester moi meme que le mail généré est conforme ? est-ce qu'il y a des scripts/softs/outils qui permettent de le faire ?

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Fais voir ton code ?

  5. #5
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    $entete="Content-type:text/html\nFrom:$expediteur\r\nReply-To:$reponse";
    // le contenu du mail provient d'un fichier HTML qui contient des CSS, du HTML...
    $contenu_mail = lire_contenu_fichier("modele.html");
    et voici la fonction d'envoi :
    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
    function envoi_mail_pj($email_expediteur, $nom_expediteur, $destinataire, $sujet, $email_reply, $message_texte, $message_html, $fichier_pj, $type_pj)
    	{
    		//-----------------------------------------------
    		//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
    		//-----------------------------------------------
     
    		$frontiere = '-----=' . md5(uniqid(mt_rand()));
     
    		//-----------------------------------------------
    		//HEADERS DU MAIL
    		//-----------------------------------------------
    		$headers = 'From: '.$nom_expediteur.' <'.$email_expediteur.'>'."\n";
    		$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
    		$headers .= 'MIME-Version: 1.0'."\n";
    		$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
     
    		//-----------------------------------------------
    		//MESSAGE TEXTE
    		//-----------------------------------------------
    		$message = "";
    		if ($message_texte != "")
    		{		
    			$message = 'This is a multi-part message in MIME format.'."\n\n";
     
    			$message .= '--'.$frontiere."\n";
    			$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
    			$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
    			$message .= $message_texte."\n\n";
    		}
     
    		//-----------------------------------------------
    		//MESSAGE HTML
    		//-----------------------------------------------
    		$message .= '--'.$frontiere."\n";
     
    		$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
    		$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
    		$message .= $message_html."\n\n";
     
    		//-----------------------------------------------
    		//PIECE JOINTE
    		//-----------------------------------------------
    		$message .= '--'.$frontiere."\n";
     
    		$message .= 'Content-Type: '.$type_pj.'; name='.$fichier_pj."\n";
    		$message .= 'Content-Transfer-Encoding: base64'."\n";
    		$message .= 'Content-Disposition:attachement; filename='.$fichier_pj."\n\n";
     
    		$message .= chunk_split(base64_encode(file_get_contents($fichier_pj)))."\n";
     
    		mail($destinataire,$sujet,$message,$headers);
    	}

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Il te manque pas la frontière terminale ?

  7. #7
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    c-a-d ? stp tu peux me filer le code manquant ? ou corriger la fonction ?
    merci

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je sais pas, mais à la fin, après ton attachement chunk_split, j'aurais rajouté ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message .= '--'.$frontiere."--\n";

  9. #9
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    j'ai ajouté le code à la fin de la fonction mais j'ai rien remarqué dans la fin du mail (j'ai ouvert la source complète du mail sous foxmail)
    voici en fait ce que m'a dit le gars qui a reçu le mail (en fait ce lui qui s'occure du serveur mail) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    le mail envoyé est formaté de manière incomplète. Il 
    manque en toute fin de mail, une information qui conclut le formatage du 
    mail. De ce fait, le mail étant incomplet, il est effectivement 
    intercepté et mis en quarantaine par notre passerelle de messagerie.
    Si un interlocuteur technique est dans la boucle, voici le message 
    d’erreur fourni : « The terminating boundary is missing « …….=xxxxxxxxx »
    J’ai effectivement regardé de plus près le mail et ce séparateur de 
    champs n’est pas visible en fin de mail pour en indiquer le terme.
    C’est donc au niveau du formatage du mail que la correction doit être 
    apportée.
    je n'ai pas encore essayer d'envoyer un mail après ta suggestion, mais je voudrais bien pouvoir tester pour s'en assurer avant de le lui envoyer, comment je peux le faire ?

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben tu lui envoie personnelement.
    De toutes façons on est d'accord tout les deux, donc tu peux nous faire confiance

  11. #11
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    754
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 754
    Points : 389
    Points
    389
    Par défaut
    merci ça fonctionne bien maintenant le destinataire reçoit bien le mail

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] message non visible
    Par nicerico dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2008, 17h23
  2. [Mail] Mails non reçus sur les FAI identifiés
    Par cebleu dans le forum Langage
    Réponses: 1
    Dernier message: 14/12/2007, 09h32
  3. [Mail] variable non définie
    Par loopback dans le forum Langage
    Réponses: 2
    Dernier message: 12/11/2007, 11h18
  4. Réponses: 32
    Dernier message: 18/06/2007, 08h28
  5. Mail formulaire non remplit
    Par bubuche007 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/01/2007, 11h42

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