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] Spécifier une image de fond [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut [Mail] Spécifier une image de fond
    Bonjour tous le monde,
    J'essai d'envoyer un mail avec un background qui est une image .jpg mon mail s'affiche bien mais je n'arrive pas a faire afficher l'image si quelqu'un peu m'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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    //variable de fond
    $fond = "images/fond.jpg";
     
    	//on récupère la date du jour
    	$date_jour=date("Y-m-d");
     
    	//on récupère les 10 derniers événements
    	$sql="SELECT numCat,nomEvt,numEvt,descriptifEvt,datEvtDebut FROM evenement WHERE statutEvt='actif' AND datEvtDebut>='$date_jour' ORDER BY datEvtDebut LIMIT 0,10";
    	$result=mysql_query($sql) or die ("problème requete sql".mysql_error());
     
    	$header ="From: test<test@test.eu>\n";
     
    		$destinataire="test@test.fr";
    		$objet="test de mail";
     
    	//frontière
    	$boundary = "-----=".md5(uniqid(rand()));
    	//
    	// Version du format MIME utilisé
    $header .= "MIME-Version: 1.0\n";
    // Type de contenu. Ici plusieurs parties de type different "multipart/ALTERNATIVE"
    // Avec un frontière définie par $boundary
    $header .= "Content-Type: multipart/Alternative; \n   boundary=\"$boundary\"\n\n";
    $header .= "\n";
     
    $message = "This is a multi-part message in MIME format.\n";
    $message .= "Ceci est un message au format MIME.\n";
    $message .= "--$boundary\n";
         $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
         $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; 
         $message.="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HTML><HEAD><TITLE></TITLE><META http-equiv=3DContent-Type content=3D\"text/html; charset=3Diso-8859-1\">";
        $message .= '<STYLE>BODY { BACKGROUND-POSITION: left top; MARGIN-TOP: 80px; FONT-SIZE: 12pt; MARGIN-LEFT: 175px; COLOR: #000000; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: Times New Roman; background=cid:fond;}';
        $message .= '</STYLE><META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR></head>';
    	$message.="<body>
    	<table width='700'><tr><td>Les 10 prochains évènements de sortons.eu</td></tr><tr><td>&nbsp</td></tr>";
     
    	while($data=mysql_fetch_array($result)){
    		$num_cat=$data['numCat'];
    		$nom_evt=$data['nomEvt'];
    		$num_evt=$data['numEvt'];
    		$descriptif=$data['descriptifEvt'];
    		$date=$data['datEvtDebut'];
     
    		//mise en forme de la date
    		$table_date=split("-",$date);
    		switch($table_date[1]){
    		case "01" : $mois='Janvier';break;
    		case "02" : $mois='Février';break;
    		case "03" : $mois='Mars';break;
    		case "04" : $mois='Avril';break;
    		case "05" : $mois='Mais';break;
    		case "06" : $mois='Juin';break;
    		case "07" : $mois='Juillet';break;
    		case "08" : $mois='Août';break;
    		case "09" : $mois='Septembre';break;
    		case "10" : $mois='Octobre';break;
    		case "11" : $mois='Novembre';break;
    		case "12" : $mois='Décembre';break;
    	}
    	$date=$table_date[2]." ".$mois." ".$table_date[0];
     
    		//on récupère la catégorie
    		$sql1="SELECT nomCat FROM categorie WHERE numCat='".$num_cat."'";
    		$result1=mysql_query($sql1) or die ("problème requete sql1".mysql_error());
    		$data1=mysql_fetch_array($result1);
    		$categorie=$data1['nomCat'];
     
    		$message.="<tr><td>$categorie - $nom_evt</td></tr><tr><td>$date</td></tr><tr><td>&nbsp</td></tr><tr><td>$descriptif</td></tr><tr><td><hr></td></tr>";
    	}
    	$message.="</table></body></html>";
    	// ---------------------------------
    // 2nde partie du message
    // Le fichier FOND
    // ---------------------------------
    // Tout d'abord lire le contenu du fichier
    $fp = fopen($fond, "rb");   // b c'est pour les windowsiens (binary)
    $attachment = fread($fp, filesize($fond));
    fclose($fp);
    // puis convertir le contenu du fichier en une chaîne de caractères
    // conforme au format RFC 2045 (lignes de 76 caractères)
    $attachment = chunk_split(base64_encode($attachment));
    // Ne pas oublier que chaque partie du message est séparé par une frontière
    $message .= "--$boundary\n";
    // Et pour chaque partie on en indique le type
    $message .= "Content-Type: image/jpg; name=\"$fond\"\n";
    // Et comment il sera codé
    $message .= "Content-Transfer-Encoding: base64\n";
    // -----ICI L'ASTUCE POUR RECUPERER LA PIECE JOINTE ! (sinon ce serait une PJ ordinaire
    $message .= "Content-ID: <fond>\n";
    // Il est indispensable d'introduire une ligne vide entre l'entête et le texte
    $message .= "\n";
    // C'est ici que l'on insère le code du fichier lu
    $message .= $attachment . "\n";
    $message .= "\n\n";
     
    $message .= "--$boundary--\n";
     
    @mail($destinataire,$objet,$message,$header);
    Merci pour vos réponse
    cloud

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Le chemin de ton image doit être en absolu et non en relatif.

    Qui plus est, pour toucher le maximum de webmails et de logiciels de messagerie, le mieux est de ne pas utiliser de CSS mais l'ancienne syntaxe :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <body background="urldelimage">

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut
    Je test merci d'avoir répondu si vite
    je te donne la réponse tout de suite

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Par défaut
    Ca marche pas
    Par contre quand j'envoi sans l'url en entier je recoi ca :
    Jeudi 11 octobre à 20H00

    Après "Rodéo" en 2004, ZAZIE repart en tournée pour nous faire découvrir son nouvel album "Totem", album plus intime et plus électro.

    Placement libre ou numéroté
    Numéroté 50,50€ (CAT. 1) / Libre 40,50€ (CAT. 2) / Libre 37,50€ (CE 2)




    --------------------------------------------------------------------------------

    -------=33a0cdb8656c8f6c8035bc5d64be3f5d Content-Type: image/jpg; name="images/fond.jpg" Content-Transfer-Encoding: base64 Content-ID: /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAMWAlgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDweiii v61P5iCiiigAooooAKKKfFEZCedqjlmPagBI42lbCjoMk9gPWr9tZAbWOfm4UhdzOfRF7/U8VYtr EgEFVXaA7CX7kQ7NJ6k9l/8A1VdRVSA3DTPa2smQbtxm4ucdRGueBnj09SelYSqdEbRh3ITB5M6I 5ZJ2PEMH765b6nov0HPtUr2yWbt9o+yWMh6i5zczk+68gfiBWhDZtalbNkmsTPgJpdgvmX1xnoHb GVz6f+OVcljh8NZS7u7fw+44Nlpqi6vz7PITiM+24Ef3a5HU6L+vz/VeZ0qn1/r9P0fkQW+nXcsY eOHV3iJ4kWzjtYz9CSRVg6RcyfK0N2c9mFpOc/7pIpmlRS+J7hhoPgq98QzBsG4vpZ7th9fL2KPx zXZ23wk+JFzHvHgDRbeIj/lvHbp/6FJurkq140napKMX5tL9f0OqnRlUV4Rcl5Jv9DiZfD18Yyj2 GtXFvn/VfZksrfP+0wLKf0+oqO3sjeTJYrGupSKd40nSn/0dMY+aaYEgj1IJ/wB4V3c/wb8dou+X 4ZaJdY/jiuiP0juhn8qhk+E3j3U7NotbGm+BfDiH955zxW0JA55VCWlb0Lkntms1jKL/AOXsfvX4 JNt/Kz8y3haq/wCXcvuf4tpL77ryOOvNTg025hi/deIdbQeXb21um6xsmPZEH+tcH/gOf79dfF4P 0zwAE8UfE6Z9W1y5/e2vhoS5nkPZrlv4E/2fb8KrSfEDwt8Jke28AQnVtd27JPE+oQj5CRz9njP3 fqefrWj8Gv2cfF/x819tRv2uYrCR99xqN4SWk9cE1nWqxp0nWry9nTW7ekn5JfZX/kz8nqa0qcql RUqMfaVOiWsV5t/af4Lz2Oet4fG37SXjC3tYImmRMRwW0Clbazj9FUcD+Zr7J8K+BPAn7HXgo6vr jw3/AImkTcofBctjgKO1P8VePvh/+x/4ROkeH4YLzxEybTtwW3dMsfrXxpf6j41/aV8eD/X391cP hVXOyME/oK+c/fZ3H/nzg4/Jy/yR737rJ5f8/cVL5qP/AAS/8Ufi74s/aK8ZiCMTSxSSbbayiyQo zxwK9/8Ahv8ACbQf2cdFt9b8SRJq/jW6UGz0nAbyiejOOw/U9q2PCHgvQf2bbCCw0+3TxF8R7xQg jVfMS1Y9Mj+9noPz9K9G+DY/h/cReKPGDv4i8e6gd1pp2d5ic9Cfp69u3PTgx+Z03SWGwseWjs ktHP/KPd9TtwWX1FVeIxL5q27b1UP85dl0K3h/wc2kTL49+JBe/124b/AIl2igbmzj5Rs7Y446Dj vxXo+g+Gr/U9Wh8QeJY1udbkG6x0ok+VYpnhmHYjjn19T0m8M+Fb3+1/7b15k1HxRMoaK3PMOnIc 4wOx69OpBx3NdfbWy7WYSNJHIcy3B+/cN6L6L9Pw9a+BxWLc3o9dtNku0fLz3fofa4bCqK1Wm+u7 feXn5bL1EtoARK3mmTfxPdfxS9fkTHQD/POTWnBBt2kqEVeEjXoo/wAaIYAoUsoG0YVB0Qe1T14c pXPZjGwUUUVmWFFFFABRXI/FfXtE8M+A9Q1DxHNqFvo6PBHNJpdxNb3ALzxom2SF0dfnZc7WHGQc gkGn/wAKa0D/AKCHiv8A8LDVv/kquqFOnyc9RtXbWiTWlvNdzCcqqdoJP1dv0Z3VFeTal4R8GaV4

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par cloud76
    quand j'envoi sans l'url en entier
    Sans l'url en entier ? En relatif donc ?

    Le mail que tu viens de recevoir est typique d'un mauvais encodage de transfert ou d'un webmail qui ne gère pas les mails HTML ...

    Tu devrais séparer le code HTML du code PHP, là c'est un vrai foutoir ...

  6. #6
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732

Discussions similaires

  1. resizer une image de fond en fonction de la resolution
    Par the_edge dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 02/11/2006, 14h47
  2. Réponses: 6
    Dernier message: 21/09/2006, 17h33
  3. Réponses: 4
    Dernier message: 03/05/2005, 09h03
  4. Ne pas répéter une image de fond
    Par valette dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 05/01/2005, 21h49
  5. Comment mettre une image en fond de JFrame
    Par marc26 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/01/2004, 17h57

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