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() et format HTML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Par défaut Fonction mail() et format HTML
    Bonjour à tous,
    J'ai actuellement un soucis avec la fonction mail et les mails au format HTML.
    J'ai testé en local ma fonction d'envoi de mail et tout va bien jusque là.
    J'ai mon joli petit tableau avec mes images, mon style, ...

    Mais aujourd'hui lorsque j'utilise cette fonction depuis l'hébergeur plus rien ne vas.
    Il semblerait que je ne puisse pas attacher la feuille de style à mon mail pour y appliquer les règles.

    Voici ma fonction si toute fois cela peut vous aider:

    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
    function envoi_mail($destinataire, $raison_sociale, $nom, $prenom, $adresse, $code_postal, $ville, $mail, $telephone, $contenu)
    {
    		//Début de la composition du mail
    		$headers ='From: " Formulaire de contact '.$_SERVER['SERVER_NAME'].' "<noreply@'.$_SERVER['SERVER_NAME'].'>'."\n";
    		$headers .='Reply-To: noreply@'.$_SERVER['SERVER_NAME']."\n";
    		$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit'; 
    		$sujet = $nom.' '.$prenom.' vous a envoyé un message depuis le site '.$_SERVER['SERVER_NAME'];
    		 $message ='<html>';
    		 $message .='<head>';
    		 $message .='<title>'.$nom.' '.$prenom.' vous a envoyé un message</title>';
    		 $message .= '<link rel="stylesheet" href="http://'.$_SERVER['SERVER_NAME'].'/css/mail.css" type="text/css"  media="screen" />';
    		 $message .='</head>';
    		 $message .='<body>';
    		 $message .= '<div id="mail_main">';
    		$message .= '<table width="600px;" cellspacing="0" border="0">
    		 <tr>
    		  <td class="header" ></td>
    		 </tr>
    		 <tr>
    			<td>
    				<br />
    				http://'.$_SERVER['SERVER_NAME'].'/css/mail.css
    				<h2><font face="Arial, Helvetica, sans-serif" color="white">'.$sujet.'</font></h2>
    				<font face="Arial, Helvetica, sans-serif" size="2" color="white">
    				Vous avez reçu un message via votre site internet.
    				<br />
    				Voici le contenu du message:
    				<br />
    				<br />
    				'.nl2br($contenu).'
    				<br />
    				<br />
    				Voici les informations de la personne.
    				<br />
    				Raison sociale : '.$raison_sociale.'
    				<br />
    				Nom & prénom : '.$nom.' '.$prenom.'
    				<br />
    				Adresse : '.$adresse.'
    				<br />
    				Code postal & Ville: '.$code_postal.' '.$ville.'
    				<br />
    				Téléphone : '.$telephone.'
    				<br />
    				E-mail : '.$mail.'
    				</font>
    				<br />
    				<br />
    				<font face="Arial, Helvetica, sans-serif" size="2" color="white">Ceci est un mail envoyé automatiquement. Il n\'est pas nécessaire d\'y répondre.</font>
    				<br />
    				<br />
    			</td>
    		 </tr>
    		 <tr>
    		  <td></td>
    		 </tr>
    		</table>';
    		$message .= '</div>';
    		 $message .='</body>';
    		 $message .='</html>';
     
    		  if(mail($destinataire, $sujet, $message, $headers))
         {
              $reponse = 'Le message a été envoyé';
     
         }
         else
         {
              $reponse = 'Le message n\'a pu être envoyé';
         } 
     
    	return $reponse;
    }
    Comme vous pouvez le voir, dans le corps du mail j'affiche volontairement le lien vers la feuille de style pour voir si il est correct. (Oui le code présent est en mode débug).
    Et il se trouve que le lien est correct.
    Du coup je ne comprends pas ce qui peut bloquer.

    Si vous avez une idée....

    Merci d'avance !

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    Je ne suis pas sur que tous les clients mails accepteront de charger un CSS Externe... Pour pas t'embêter tu peux faire un fileread et mettre ta feuille entre <style></style>

  3. #3
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Je déconseiller de mettre du CSS externe, mais de mettre plutôt le CSS directement dans les balises HTML, tu auras beaucoup plus de chance que ça passe mieux dans les différents mailers ou webmails.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

Discussions similaires

  1. [PHP 4] [Mail] fonction mail() texte Format HTML
    Par MeHo_ dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2009, 15h46
  2. Réponses: 1
    Dernier message: 09/05/2007, 21h36
  3. [Mail] Problème avec mail au format HTML
    Par kidpigeyre dans le forum Langage
    Réponses: 4
    Dernier message: 06/11/2006, 16h26
  4. Écrire un e-mail au format HTML
    Par Benoit30 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 02/08/2005, 12h40
  5. Envoi de mail au format html
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/01/2004, 12h29

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