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 :

Envoyer un email (depuis php) avec un design !


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Envoyer un email (depuis php) avec un design !
    Bonjour j'ai un système d'oublie de mot de passe. L'utilisateur entre son email, je lui envoie un nouveau mot de passe par email pour qu'il puisse se connecter et le changer lui même. Cependant j'aimerais lui envoyer un email, jolie. Pour que se soit plus agréable pour mes utilisateurs.

    Donc voici la page qui traite le changement de mot de passe et l'envoie d'email
    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
    <?php
     
    session_start();
     
    include '../mysql.php';
    include '../functions.php';
     
    $req = db()->prepare('SELECT * FROM users WHERE email = :email');
    $req->execute(array('email' => $_POST['email']));
    $count = $req->rowCount();
     
    if(isset($_POST['email']) && !empty($_POST['email']) && $count == 1){
     
    	// On génère un mdp provisoire
    	$char = 'abcdefghijklmnopqrstuvwxyz0123456789';
    	$random = str_shuffle($char);
    	$password = substr($random, 0, 6);
    	$crypt_password = sha1($password);
     
    	// Destinaire et sujet
    	$email = $_POST['email'];
    	$subject = 'Mot de passe oublié';
    	// Message
    	$message = file_get_contents('http://monsite.com/mail/forgot_pw.php');
    	// Headers
    	$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
    	$headers .= 'From: Mon Site <' . $contact_email . '>' . "\r\n";
     
    	// On met à jour le mot de passe, par le mdp provisoire
    	$req = db()->prepare('UPDATE users SET password = :password WHERE email = :email');
    	$req->execute(array('password' => $crypt_password, 'email' => $email));
     
    	// On envoie le mail
    	mail($email, $subject, $message, $headers);
     
    	// On redirige
    	go('../login?forgot_pw=success');
    }
    else{
    	// On redirige
    	go('../login?forgot_pw=error');
    }
    ?>
    Et ma page avec le design de l'email
    Code html : 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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=320, target-densitydpi=device-dpi">
    <style type="text/css">
    /* Mobile-specific Styles */
    @media only screen and (max-width: 660px) { 
    table[class=w0], td[class=w0] { width: 0 !important; }
    table[class=w10], td[class=w10], img[class=w10] { width:10px !important; }
    table[class=w15], td[class=w15], img[class=w15] { width:5px !important; }
    table[class=w30], td[class=w30], img[class=w30] { width:10px !important; }
    table[class=w60], td[class=w60], img[class=w60] { width:10px !important; }
    table[class=w125], td[class=w125], img[class=w125] { width:80px !important; }
    table[class=w130], td[class=w130], img[class=w130] { width:55px !important; }
    table[class=w140], td[class=w140], img[class=w140] { width:90px !important; }
    table[class=w160], td[class=w160], img[class=w160] { width:180px !important; }
    table[class=w170], td[class=w170], img[class=w170] { width:100px !important; }
    table[class=w180], td[class=w180], img[class=w180] { width:80px !important; }
    table[class=w195], td[class=w195], img[class=w195] { width:80px !important; }
    table[class=w220], td[class=w220], img[class=w220] { width:80px !important; }
    table[class=w240], td[class=w240], img[class=w240] { width:180px !important; }
    table[class=w255], td[class=w255], img[class=w255] { width:185px !important; }
    table[class=w275], td[class=w275], img[class=w275] { width:135px !important; }
    table[class=w280], td[class=w280], img[class=w280] { width:135px !important; }
    table[class=w300], td[class=w300], img[class=w300] { width:140px !important; }
    table[class=w325], td[class=w325], img[class=w325] { width:95px !important; }
    table[class=w360], td[class=w360], img[class=w360] { width:140px !important; }
    table[class=w410], td[class=w410], img[class=w410] { width:180px !important; }
    table[class=w470], td[class=w470], img[class=w470] { width:200px !important; }
    table[class=w580], td[class=w580], img[class=w580] { width:280px !important; }
    table[class=w640], td[class=w640], img[class=w640] { width:300px !important; }
    table[class*=hide], td[class*=hide], img[class*=hide], p[class*=hide], span[class*=hide] { display:none !important; }
    table[class=h0], td[class=h0] { height: 0 !important; }
    p[class=footer-content-left] { text-align: center !important; }
    #headline p { font-size: 30px !important; }
    .article-content, #left-sidebar{ -webkit-text-size-adjust: 90% !important; -ms-text-size-adjust: 90% !important; }
    .header-content, .footer-content-left {-webkit-text-size-adjust: 80% !important; -ms-text-size-adjust: 80% !important;}
    img { height: auto; line-height: 100%;}
     } 
    /* Client-specific Styles */
    #outlook a { padding: 0; }  /* Force Outlook to provide a "view in browser" button. */
    body { width: 100% !important; }
    .ReadMsgBody { width: 100%; }
    .ExternalClass { width: 100%; display:block !important; } /* Force Hotmail to display emails at full width */
    /* Reset Styles */
    /* Add 100px so mobile switch bar doesn't cover street address. */
    body { background-color: #ececec; margin: 0; padding: 0; }
    img { outline: none; text-decoration: none; display: block;}
    br, strong br, b br, em br, i br { line-height:100%; }
    h1, h2, h3, h4, h5, h6 { line-height: 100% !important; -webkit-font-smoothing: antialiased; }
    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: blue !important; }
    h1 a:active, h2 a:active,  h3 a:active, h4 a:active, h5 a:active, h6 a:active { color: red !important; }
    /* Preferably not the same color as the normal header link color.  There is limited support for psuedo classes in email clients, this was added just for good measure. */
    h1 a:visited, h2 a:visited,  h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { color: purple !important; }
    /* Preferably not the same color as the normal header link color. There is limited support for psuedo classes in email clients, this was added just for good measure. */  
    table td, table tr { border-collapse: collapse; }
    .yshortcuts, .yshortcuts a, .yshortcuts a:link,.yshortcuts a:visited, .yshortcuts a:hover, .yshortcuts a span {
    color: black; text-decoration: none !important; border-bottom: none !important; background: none !important;
    }   /* Body text color for the New Yahoo.  This example sets the font of Yahoo's Shortcuts to black. */
    /* This most probably won't work in all email clients. Don't include code blocks in email. */
    code {
      white-space: normal;
      word-break: break-all;
    }
    #background-table { background-color: #ececec; }
    /* Webkit Elements */
    #top-bar { border-radius:6px 6px 0px 0px; -moz-border-radius: 6px 6px 0px 0px; -webkit-border-radius:6px 6px 0px 0px; -webkit-font-smoothing: antialiased; background-color: #515151; color: #F0F0F0; }
    #top-bar a { font-weight: bold; color: #F0F0F0; text-decoration: none;}
    #footer { border-radius:0px 0px 6px 6px; -moz-border-radius: 0px 0px 6px 6px; -webkit-border-radius:0px 0px 6px 6px; -webkit-font-smoothing: antialiased; }
    /* Fonts and Content */
    body, td { font-family: HelveticaNeue, sans-serif; }
    .header-content, .footer-content-left, .footer-content-right { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; }
    /* Prevent Webkit and Windows Mobile platforms from changing default font sizes on header and footer. */
    .header-content { font-size: 12px; color: #F0F0F0; }
    .header-content a { font-weight: bold; color: #F0F0F0; text-decoration: none; }
    #headline p { color: #F0F0F0; font-family: HelveticaNeue, sans-serif; font-size: 36px; text-align: center; margin-top:0px; margin-bottom:30px; }
    #headline p a { color: #F0F0F0; text-decoration: none; }
    .article-title { font-size: 18px; line-height:24px; color: #e97900; font-weight:bold; margin-top:0px; margin-bottom:18px; font-family: HelveticaNeue, sans-serif; }
    .article-title a { color: #e97900; text-decoration: none; }
    .article-title.with-meta {margin-bottom: 0;}
    .article-meta { font-size: 13px; line-height: 20px; color: #ccc; font-weight: bold; margin-top: 0;}
    .article-content { font-size: 13px; line-height: 18px; color: #444444; margin-top: 0px; margin-bottom: 18px; font-family: HelveticaNeue, sans-serif; }
    .article-content a { color: #e97900; font-weight:bold; text-decoration:none; }
    .article-content img { max-width: 100% }
    .article-content ol, .article-content ul { margin-top:0px; margin-bottom:18px; margin-left:19px; padding:0; }
    .article-content li { font-size: 13px; line-height: 18px; color: #444444; }
    .article-content li a { color: #e97900; text-decoration:underline; }
    .article-content p {margin-bottom: 15px;}
    .footer-content-left { font-size: 12px; line-height: 15px; color: #e2e2e2; margin-top: 0px; margin-bottom: 15px; }
    .footer-content-left a { color: #F0F0F0; font-weight: bold; text-decoration: none; }
    .footer-content-right { font-size: 11px; line-height: 16px; color: #e2e2e2; margin-top: 0px; margin-bottom: 15px; }
    .footer-content-right a { color: #F0F0F0; font-weight: bold; text-decoration: none; }
    #footer { background-color: #515151; color: #e2e2e2; }
    #footer a { color: #F0F0F0; text-decoration: none; font-weight: bold; }
    #permission-reminder { white-space: normal; }
    #street-address { color: #F0F0F0; white-space: normal; }
    </style>
    <!--[if gte mso 9]>
    <style _tmplitem="816" >
    .article-content ol, .article-content ul {
       margin: 0 0 0 24px;
       padding: 0;
       list-style-position: inside;
    }
    </style>
    <![endif]--></head><body><table width="100%" cellpadding="0" cellspacing="0" border="0" id="background-table">
    	<tbody><tr>
    		<td align="center" bgcolor="#ececec">
            	<table class="w640" style="margin:0 10px;" width="640" cellpadding="0" cellspacing="0" border="0">
                	<tbody><tr><td class="w640" width="640" height="20"></td></tr>
     
                	<tr>
                    	<td class="w640" width="640">
                            <table id="top-bar" class="w640" width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#515151">
        <tbody><tr>
            <td class="w15" width="15"></td>
            <td class="w325" width="350" valign="middle" align="left">
                <table class="w325" width="350" cellpadding="0" cellspacing="0" border="0">
                    <tbody><tr><td class="w325" width="350" height="8"></td></tr>
                </tbody></table>
                <table class="w325" width="350" cellpadding="0" cellspacing="0" border="0">
                    <tbody><tr><td class="w325" width="350" height="8"></td></tr>
                </tbody></table>
            </td>
            <td class="w30" width="30"></td>
            <td class="w255" width="255" valign="middle" align="right">
                <table class="w255" width="255" cellpadding="0" cellspacing="0" border="0">
                    <tbody><tr><td class="w255" width="255" height="8"></td></tr>
                </tbody></table>
                <table cellpadding="0" cellspacing="0" border="0">
        <tbody><tr>
     
     
     
        </tr>
    </tbody></table>
                <table class="w255" width="255" cellpadding="0" cellspacing="0" border="0">
                    <tbody><tr><td class="w255" width="255" height="8"></td></tr>
                </tbody></table>
            </td>
            <td class="w15" width="15"></td>
        </tr>
    </tbody></table>
     
                        </td>
                    </tr>
                    <tr>
                    <td id="header" class="w640" width="640" align="center" bgcolor="#515151">
     
        <div align="center" style="text-align: center">
            <a href="">
            <img id="customHeaderImage" label="Header Image" editable="true" width="127" src="http://monsite.com/mail/images/jvRBqj5.193700.png" class="w640" border="0" align="top" style="display: inline">
            </a><br /><br />
        </div>
     
     
    </td>
                    </tr>
     
                    <tr><td class="w640" width="640" height="30" bgcolor="#ffffff"></td></tr>
                    <tr id="simple-content-row"><td class="w640" width="640" bgcolor="#ffffff">
        <table align="left" class="w640" width="640" cellpadding="0" cellspacing="0" border="0">
            <tbody><tr>
                <td class="w30" width="30"></td>
                <td class="w580" width="580">
                    <repeater>
     
                        <layout label="Text only">
                            <table class="w580" width="580" cellpadding="0" cellspacing="0" border="0">
                                <tbody><tr>
                                    <td class="w580" width="580">
                                        <p align="left" class="article-title"><singleline label="Title">Mot de passe oublié</singleline></p>
                                        <div align="left" class="article-content">
                                            <multiline label="Description">Vous avez oublié votre mot de passe, en voici un nouveau connectez vous avec celui ci puis rendez vous dans votre profil pour le modifier.</multiline><br /><br />
                                            <multiline label="Description">Mot de passe temporaire : <a href="http://monsite.com/login?pw=<?php echo $password; ?>"><u><?php echo $password; ?></u></a></multiline>
                                        </div>
                                    </td>
                                </tr>
                                <tr><td class="w580" width="580" height="10"></td></tr>
                            </tbody></table>
                        </layout>                                                        
     
                    </repeater>
                </td>
                <td class="w30" width="30"></td>
            </tr>
        </tbody></table>
    </td></tr>
                    <tr><td class="w640" width="640" height="15" bgcolor="#ffffff"></td></tr>
                    <tr>
                        <td class="w640" width="640">
                            <table id="footer" class="w640" width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#515151">
                                <tbody><tr><td class="w30" width="30"></td><td class="w580 h0" width="360" height="30"></td><td class="w0" width="60"></td><td class="w0" width="160"></td><td class="w30" width="30"></td></tr>
                                <tr>
                                    <td class="w30" width="30"></td>
                                    <td class="w580" width="360" valign="top">
                                    <p align="left" class="footer-content-left"><preferences lang="fr-FR">Cet email est automatique, merci ne pas y répondre</preferences></p>
                                    </td>
                                    <td class="hide w0" width="60"></td>
                                    <td class="hide w0" width="160" valign="top">
                                    <p id="street-address" align="right" class="footer-content-right"><span></span></p>
                                    </td>
                                    <td class="w30" width="30"></td>
                                </tr>
                                <tr><td class="w30" width="30"></td><td class="w580 h0" width="360" height="15"></td><td class="w0" width="60"></td><td class="w0" width="160"></td><td class="w30" width="30"></td></tr>
                            </tbody></table>
                        </td>
                    </tr>
                    <tr><td class="w640" width="640" height="60"></td></tr>
                </tbody></table>
            </td>
    	</tr>
    </tbody></table></body></html>

    Cependant quand je reçoit le mail le css et le php ne sont pas pris en compte....
    Je suis censé avoir quelque chose comme ça


    Et j'ai ça


    Alors peut-être que file_get_contents n'est pas la bonne méthode, je ne sais pas je ne trouve pas de réponse à ma question sur internet

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    Peut tu nous envoyer le code html de ton mail ?

    Parfois certaines webmail bloquent les ressources externes.

  3. #3
    Membre régulier Avatar de Linu6
    Profil pro
    Inscrit en
    Août 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 227
    Points : 106
    Points
    106
    Par défaut base64
    Salut,

    Essai de mettre l'url de l'image en base64.


    ++

Discussions similaires

  1. [XL-2010] Envoyer un email sous Outlook avec pièce jointe depuis excel
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2014, 11h59
  2. Configuer Swift mailer pour envoyer des emails depuis un formulaire PHP
    Par choupy26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 09/06/2010, 13h02
  3. Réponses: 2
    Dernier message: 04/10/2007, 11h04
  4. Comment envoyer un mail depuis Word avec un fichier attaché
    Par Heureux-oli dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/08/2007, 11h47
  5. [Mail] Envoyer un email depuis un site
    Par killer_instinct dans le forum Langage
    Réponses: 13
    Dernier message: 17/04/2007, 10h12

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