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 :

Envoi d'e-mail et Gmail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 94
    Par défaut Envoi d'e-mail et Gmail
    Hello,
    Je me suis fais une class php5 qui envoie de mails avec un habillage html-css.

    Ma mise en forme html fonctionne bien sur outlook, hotmail mais pour le reste, j'observe des problèmes...

    Il arrive que ma mise en page soit totalement ignoré !
    certain soft de messagerie refusent-t'il catégoriquement l'habillage html ?

    Voici ce que j'utilise pour envoyer les mails au format html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $this->from  = "From:$this->expediteur\n";
    $this->from .= "MIME-version: 1.0\n";
    $this->from .= 'Content-type: text/html; charset="UTF-8"\r\n';
    Merci de votre aide.
    @++

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonsoir,

    Utilises-tu quelques part dans ton code l'attribut style ?

    Il est possible que cela vienne de là, du moins pour Gmail.

    Ensuite je te conseille de rajouter ceci après le content type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     "Content-Transfer-Encoding: binary\n\n";
    Sinon un petit article à lire

    HOMEBLOGABOUT MECONTACT MEFREE CODEPLAY A GAME
    « New wishlist website launched | Custom context menu with keyboard shortcuts in Flash »
    PHP mail() function and GMail

    1st December 2006

    or Another reason to avoid PHP’s mail() function

    Since launching Giefan.com on Monday we’ve fixed a few bugs that only came to light as a result of the way other people work. One such was an email problem with messages sent to GMail (thanks to Alan for catching this). I’ve never had a GMail account so it wasn’t one of the email applications we tested the messages with.

    Email messages were arriving at GMail with messages garbled into a string of apparently random characters and with the sender listed as unknown. I was using mb_send_mail() to send UTF-8 email messages from PHP. I always intended to implement a different email solution at some point but evaluating the various possibilities and making a choice didn’t seem as important for the launch period as many of the other features so I chose to start with mb_send_mail() and switch to another solution later.

    mb_send_mail() was sending messages as UTF-8 and base64 encoded, and it seems that GMail failed to correctly understand this from the email headers. As a result, GMail simply displayed the base64 encoded data. The quick fix just to get it working was to switch to PHP’s mail() function. This would suffice for a few hours while we sought a better solution.

    The other problem was GMail displaying the sender as unknown, despite having the sender data in the From: header. I tried various different formats for the From: header (quotes around the name, extra spaces etc.) but none seemed to work for GMail. Instead, it always displayed the From: header line in the body of the message (there were no blank lines in the header so that’s not the problem, and the messages worked with a number of other email applications we tested them with).

    I still haven’t discovered what the problem was but have three possibilities.

    1. Does GMail dislike the unconventional (but not technically wrong) ordering of the headers that mail() and mb_send_mail() produce?
    2. Does GMail distrust messages in which the X-Mailer header lists “PHP mailer” as the system used and consequently displays the sender as unknown and places the from data in the message?
    3. Is mail() doing something wrong in its headers, and most email applications are simply ignoring the mistake and figuring out what’s intended?

    If anyone knows the actual cause please add a comment below.

    Anyway, the obvious solution was to avoid PHP’s mail functions altogether so I hurriedly added Chris Corbyn’s Swift Mailer script and altered my code to use it, and all was well. I haven’t thoroughly tested Swift Mailer yet but it seems to be working fine - the messages are in UTF-8 and GMail is happy with them.

    Swift Mailer is just one of many alternatives to the mail() function but I like it for it’s simplicity of use. Hopefully, when I test it out more thoroughly later this month I’ll still be very happy with it.
    A tester.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  3. #3
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    je confirme que beaucoup de webmails font directement des remplacements de balises et attributs html dans le corps du message, c'est d'ailleurs bien galère. Tu peux afficher la source html pour t'en assurer. Par exemple ta balise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel=stylesheet type="text/css" href="style.css">
    devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <not_valid_link rel=stylesheet type="text/css" href="style.css">
    ou ce genre de trucs donc n'est pas interprétée.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->from .= 'Content-type: text/html; charset="UTF-8"\r\n';
    Cette ligne fonctionne t'elle correctement ?? Je n'en suis pas sûr mais j'aurais éviter à ta place les simples quotes.


    Cordialement,
    Patouche

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 94
    Par défaut
    Salut à Tous, et un grand merci a chacun pour les réponses apportés.

    Je vais essayer de répondre dans l'ordre.
    Utilises-tu quelques part dans ton code l'attribut style ?
    Oui, j'ai mis ça pour me faire comme une feuille de style css.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <style type='text/css'>
    </style>
    Deallyra, merci pour l'article, je vais aller voir de plus près Swift Mailer.

    Salut,
    je confirme que beaucoup de webmails font directement des remplacements de balises et attributs html dans le corps du message, c'est d'ailleurs bien galère. Tu peux afficher la source html pour t'en assurer. Par exemple ta balise :
    Oui, c'est vraiment pénible
    Cette ligne fonctionne t'elle correctement ?? Je n'en suis pas sûr mais j'aurais éviter à ta place les simples quotes.
    A vrai dire, je n'ai pas vraiment testé. J'ai récupérer le code d'envoi de mails au format html suivant :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $Destinataire = "nom@domaine.com";
    $Sujet = "Sujet de votre mail";
     
    $From  = "From:nom@domaine.com\n";
    $From .= "MIME-version: 1.0\n";
    $From .= "Content-type: text/html; charset= iso-8859-1\n";
     
    $Message = "<b>Texte en Gras</b><u>Texte Souligné</u><i>Texte en Italique</i>";
     
    mail($Destinataire,$Sujet,$Message,$From);
     
    ?>

    En tout cas, il n'existe apparemment pas de solution miracle pour habiller un minimum l'envoie de mails ?

    Je bosse en ce moment sur une plateforme de site de e-commerce, et l'envoie de mail un petit peu plus personnalisé ajoute un petit plus indéniable.

    Mais, je ne m'attendais évidemment à ce que ça soit compliqué de faire marché ça sur tout un tas de webmail

    @+ les amis !

  6. #6
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Si tu veux être sûr de ta mise en page tu envoyer une image ^^
    Sinon le gras et l'italique sont généralement acceptés partout, que de choix ! lol

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

Discussions similaires

  1. [Log4j] Envoi d'un mail avec un compte GMail
    Par Ynostel dans le forum Logging
    Réponses: 2
    Dernier message: 20/12/2008, 10h21
  2. Envoi Mail Smtp Gmail
    Par brazilia28 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/02/2008, 12h04
  3. [PHPMailer] Erreur lors d'un envoi d'un mail avec pièce jointe à destination de gmail
    Par arezki76 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 14/08/2007, 18h18
  4. [VS2005] Envoi de mail par Gmail
    Par mictif dans le forum Framework .NET
    Réponses: 2
    Dernier message: 08/11/2006, 10h20
  5. [Mail] envoi d'un mail, problème avec gmail
    Par kitty2006 dans le forum Langage
    Réponses: 11
    Dernier message: 30/09/2006, 08h45

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