[SOLUTION] Mail via fonction PHP mail()

Discussion dans 'Administration d'un site Web' créé par yannouk, 7 Janvier 2005.

  1. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    Au vu du nombre de personnes demandeuses des bons headers pour envoyer un mail en php qui ne passe pas pour du courrier indesirable, voici le code que j'utilise.

    teste dans:
    -le webmail de OPERA
    -Hotmail
    -Gmail
    -Yahoo Mail

    A noter que le script gere les mails HTML et TEXTE brut. Il choisit automatiquement 1 des 2 messages en fonction de la configuration du webmail du receveur (pour des raisons de compatibilite)

    Code:
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"Votresite.com\" <contact@votresite.com>\n"; 
    $headers .= "From: \"Votresite.com\"<contact@votresite.com>\n";
    //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
    
    $destinataire = "destinataire@du.msg";
    
    $subject = "Sujet de mail";
    
    $message_txt  = "Salut Alphonse\n\n";
    $message_txt .= "Ca va ?\n";
    $message_txt .= "C'était juste pour savoir..\n\n";
    $message_txt .= "A plus\n";
    $message_txt .= "toto";
    
    $message_html  = "<html>\n";
    $message_html .= "<body>\n";
    $message_html .= "<b>Salut Alphonse</b><br><br>";
    $message_html .= "Ca va ?<br>";
    $message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
    $message_html .= "A plus<br>";
    $message_html .= "<u>toto</u>";
    $message_html .= "</body>\n";
    $message_html .= "</html>\n";
    
    $message  = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";
    
    mail($destinataire, $subject, $message, $headers);

    Voila :) Normalement tout fonctionne faites moi part de vos tentatives.

    Au passage, les mails envoyés par wri partent en courrier indesirable sur hotmail...La solution est peut etre ici?
    A+++
     
  2. fredsoft
    fredsoft WRInaute discret
    Inscrit:
    26 Janvier 2003
    Messages:
    218
    J'aime reçus:
    0
    Salut

    a tester ta solution mais la question n'est pas de faire fonctionner cela avec opera mail ou autre mais que cela soit pas considéré comme du spam par aol wanadoo club internet et autre....

    et la nous sommes tous preneur d'une solution
     
  3. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    Oui alors la votre sujet m'interesse beaucoup car j'ais de gros probleme avec tiscalie et aol :((((((

    Je crois qu'il faudrais vraiment faire une mise au point avec ce probleme de mail() avec php car a mona vis beaucoup de webmaster ( dont moi ) ont des problemes avec ca.
     
  4. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    je pense que le plus restrictif a ce niveau la doit etre hotmail. Et avec eux, ca passe. A mon avis pas de probleme avec les wanadoo et compagnie. Donnez moi votre adresse mail chez un de ces fournisseurs et je vous envoie un mail, on verra bien.
    YAN
     
  5. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    Qu'est ce qu'il faut garder dans ton script dans le cas ou l'on envois que des mails en texte brute ?

    J'ais pas compris a quel endrois il choisis un des 2.
     
  6. fredsoft
    fredsoft WRInaute discret
    Inscrit:
    26 Janvier 2003
    Messages:
    218
    J'aime reçus:
    0
    envoie moi un mail sur webmaster@fredsoftwares.com j'ai un anti spam serveur qui aime pas php !!!
    sinon j'ai mis un nos dev sur ton script pour tester je te dirai...
     
  7. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    pour le texte brut, enleve ca:

    Code:
    $message_html  = "<html><body><b>Salut Alphonse</b><br><br>"; 
    $message_html .= "Ca va ?<br>"; 
    $message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>"; 
    $message_html .= "A plus<br>"; 
    $message_html .= "<u>toto</u>"; 
    
    $message  = "This is a multi-part message in MIME format.\n\n"; 
    $message .= "--" . $boundary . "\n"; 
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; 
    $message .= $message_txt; 
    $message .= "\n\n"; 
    $message .= "--" . $boundary . "\n"; 
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; 
    $message .= $message_html; 
    $message .= "\n\n"; 
    $message .= "--" . $boundary . "--\n";
    et renomme "message_txt" en "message"
     
  8. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    @fredsoft : ,le mail a été envoyé
     
  9. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    Ok ca donne :

    <?php

    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"Votresite.com\" <contact@votresite.com>\n";
    $headers .= "From: \"Votresite.com\"<contact@votresite.com>\n";
    //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";

    $destinataire = "destinataire@du.msg";

    $subject = "Sujet de mail";

    $message_txt = "Salut Alphonse\n\n";
    $message_txt .= "Ca va ?\n";
    $message_txt .= "C'était juste pour savoir..\n\n";
    $message_txt .= "A plus\n";
    $message_txt .= "toto";


    mail($destinataire, $subject, $message_txt, $headers);

    ?>

    Je test merci

    Par contre tu précise qu'il faut utilisé l'adresse absolus du serveur ,ca voudrais dire que pour plus de chance que le mail arrive il ne faut pas donner d'email style webmaster@sddsds.com .

    Je suis chez sivit et chez moi c est webusers@sdXXX.sivit.org , faudrais voir si y a pas moyen de changer ca sur le dédié car c'est vraiment moche j'ais peur que les gens efface direct le mail en voyant un expediteur pareil :/
     
  10. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    si tu specifies From: \"Votresite.com\"<webusers@sdXXX.sivit.org> , c'est bien Votresite.com qui apparait et non webusers@sdXXX.sivit.org ... Donc c'est a peu pres transparent, sauf si on affiche les entetes
     
  11. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    fredsoft vient de me confirmer que ca fonctionne sur son domaine avec antispam activé :D
     
  12. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    chez moi le mail est bien recu , sujet et headers ok , par contre aucun message apparait c'est bisard ca.
     
  13. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    le message apparais quand je supprime

    $boundary = "-----=" . md5( uniqid ( rand() ) );

    A quoi sert cette ligne ? :/
     
  14. fredsoft
    fredsoft WRInaute discret
    Inscrit:
    26 Janvier 2003
    Messages:
    218
    J'aime reçus:
    0
    effectivement...reste d'autres pb avec outlook en ce qui me concerne...
     
  15. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    fredsoft > t'as pas eu de probleme avec le message il apparait ?

    Chez moi j'ais rien a moins de supprimer la ligne qui fait un espece de truc aleatoire $boundary = "-----=" . md5( uniqid ( rand() ) );
     
  16. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    ca sert a generer une frontiere dans $message entre le message html et le message texte...
    a mon avis, si tu le mets pas, certes ca marche, mais le mail ne pourra pas etre envoyer en txt
     
  17. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    je rectifie ce que g dit j'ai parlé trop vite. toi apparement tu as enlevé la fonction pour envoyer en html...Donc tu as raison d'enlever le $boundary puisque tu n'as aucune frontiere a generer. Ton script semble bel et bien operationnel
     
  18. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    oui ok ca marche :)

    en fait ca marche autant que mon ancien script pour l'instant.

    Le truc c'est qu'il faudrais le tester sur different adresse email , notamment chez les fai ou on peut pas s'inscrire si on est pas chez le fai , genre aol pour le pas le nommer , ou tiscali , wanadoo , etc.


    Moi je suis chez le 9 et j'ais deja demandé je connais personne qui a des adresse email chez eux.

    C'est la qu'on aurais bien besoin de nos confrere webmaster qui traine sur le forum ;)
     
  19. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    oui, je suis preneur pour les tests si qqn est inscrit chez eux
     
  20. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    j'ais fait passé le message a tout mes amis et personne n'a d'email chez eux !!!!! en meme temps je les comprend parce que etre chez aol lol ....... mais bon quand meme ca craint la :/
     
  21. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    d'un coté, si peu de monde utilise ces fai, peu de monde recevra les mails :p!
     
  22. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    c'est vrai , mais bon faudrais pouvoir le testé sur un maximum de fai different.

    Faudrais peut etre réecrée un post avec un titre plus explicite du genre : "Aidez-nous a tester un script svp" ou bien : "Besoin d'adresse email chez aol / tiscali / wanadoo etc"

    Le probleme c'est que les email du genre laposte ou hotmail on peut les testé , mais les email des fai c'est impossible de le faire tout seul :/
     
  23. broche
    broche Nouveau WRInaute
    Inscrit:
    7 Octobre 2004
    Messages:
    13
    J'aime reçus:
    0
    J'ai juste modifié quelques petites choses:

    $headers = "Reply-to: \"Monsite.be\" <news@Monsite.be>\n";
    $headers .= "From: \"Monsite.be\"<Monsite@240plan.ovh.net>\n";

    $destinataire = "moi@hotmail.com";

    Comme je l'ai déjà signalé à Ulysse dans un autre sujet voila ce qu'il se passe....

    Mes paramètres hotmail de "Junk E-Mail Protection" sont "Enhanced - most junk e-mail is caught"

    Et du coup le mail passe directement dans le junk mail

    Mais j'avoue par contre que lorsque je mets les paramètres sont "low"
    Le mail est passé sans soucis

    Le problème est que à mon avis la plupart des utilisateurs mettent justement cette protection à " Enhanced " donc que faire pour que ça passe
     
  24. tuisp
    tuisp WRInaute passionné
    Inscrit:
    27 Juin 2003
    Messages:
    1 167
    J'aime reçus:
    0
    Tu as déjà posé la question dans https://www.webrankinfo.com/forum/viewp ... htm#193801 ... Merci de ne pas poser la même question simultanément dans plusieurs fils ou alors de te contenter de le dire en citant le fil où tu l'as fait, ça facilitera la vie de tout le monde. :)
     
  25. broche
    broche Nouveau WRInaute
    Inscrit:
    7 Octobre 2004
    Messages:
    13
    J'aime reçus:
    0
    Désolé je savais pas, je voualis êter sure d'avoir une réponse
     
  26. Stellvia
    Stellvia WRInaute impliqué
    Inscrit:
    28 Décembre 2004
    Messages:
    566
    J'aime reçus:
    5
    bon moi je fait un p'tit up a ce post qui me semble important.
     
  27. Nico5
    Nico5 Nouveau WRInaute
    Inscrit:
    12 Juin 2003
    Messages:
    36
    J'aime reçus:
    0
    Tests

    Merci pour le script, j'ai testé sur hotmail et yahoo.

    Mais moi aussi sur hotmail, ça part dans le courrier indésirable en choisissant le filtre 'étendu' au lieu de 'bas'.

    Les problèmes se rencontrent parfois avec hotmail, mais toujours avec wanadoo, et skynet.be (pour les belges).
    Vous avez d'autres fournisseurs qui bloquent complètement ?
     
  28. broche
    broche Nouveau WRInaute
    Inscrit:
    7 Octobre 2004
    Messages:
    13
    J'aime reçus:
    0
    Suivant les conseils d'un autre forum, j'ai utilisé la classe libmail améliorée

    et la ça se passe bien je sais pas si quelqu'un d'autres a déjà essayé

    vous pourrez la trouvez ici:

    http://www.phpclasses.org/browse/package/1458.html

    Pour l'instant j'ai simplement envoyé un petit message texte du style bonjour et il n'est pas tombé dans le "bulk mail"
    ce qui était le cas avec les autres classes
     
  29. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    Re: Tests

    pour moi ca fonctionne en laissant le filtre de hotmail par defaut. avec un filtre plus exigeant ca ne m'etonne aps et je ne pense pas qu'il y ait de solution fonctionnelle
     
  30. olivieri
    olivieri WRInaute impliqué
    Inscrit:
    3 Février 2003
    Messages:
    689
    J'aime reçus:
    0
    yannouk,
    j'utilise ton exemple mais j'ai corrigé certains défauts, tu devrais peut être modifier le modèle de départ:

    dans la partie messagehtml:

    - il manque le </body></html>

    - il manque des \n en fin de lignes pour eviter que le code html ressemble à
    <html><body>contenu</body></html>
    et plutot qu'il ressemble à:
    <html>
    <body>
    contenu
    </body>
    </html>

    merci pour l'exemple :wink:
     
  31. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    ok oliveri. normalement c'est corrigé, merci!
     
  32. vincent07200
    vincent07200 Nouveau WRInaute
    Inscrit:
    11 Mars 2005
    Messages:
    1
    J'aime reçus:
    0
    yannouk,

    je ne voudrais pas être pointilleux, mais il me semble que tu as oublié de concaténer le début du message_html :

    Code:
    $message_html  = "<html>\n"; 
    $message_html  = "<body>\n"; 
    $message_html  = "<b>Salut Alphonse</b><br><br>"; 
    $message_html .= "Ca va ?<br>"; 
    devrait être plutôt :
    Code:
    $message_html  = "<html>\n"; 
    $message_html  .= "<body>\n"; 
    $message_html  .= "<b>Salut Alphonse</b><br><br>"; 
    $message_html  .= "Ca va ?<br>"; 
    En tout cas, merci beaucoup pour cette aide qui m'a été précieuse.
     
  33. moussa1111
    moussa1111 Nouveau WRInaute
    Inscrit:
    14 Mars 2005
    Messages:
    2
    J'aime reçus:
    0
    slt
    comment afficher
     
  34. moussa1111
    moussa1111 Nouveau WRInaute
    Inscrit:
    14 Mars 2005
    Messages:
    2
    J'aime reçus:
    0
    slt
    quelqu'un peut m'aider?
    je voudrais afficher le resultat d'une requette sur le serveur par un clic(evenement button)
    la requette se fait sur le serveur(php) voici mon code:
    fonction.php
    <html>
    <head></head>
    <body><? include("connexion.php");?>
    <?
    $req1= mysql_query("select code_centrale_p from consommation_P");
    while($res1=mysql_fetch_array($req1)){
    echo $res1['code_centrale_p'];}
    ;?>
    </body>
    </html>
    donc je veux appeler cette fonction (pas par include("fonction.php"))sur ma page d'appel mais par le clic d'un button
    exemple
    <button onClick="fonction.php;" >
    si quelqu'un m'aider
     
  35. jeromax
    jeromax WRInaute impliqué
    Inscrit:
    12 Novembre 2003
    Messages:
    887
    J'aime reçus:
    0
    Ce post parle d'envoi de mail, pas de tarte aux concombres....

    Sinon ton problème vient du fait que tu confonds le code serveur du code client. Mais je te conseille de créer un post spécial pour ta question qui n'a rien à faire dans celui là...
     
  36. nihaoma
    nihaoma Nouveau WRInaute
    Inscrit:
    19 Mars 2005
    Messages:
    1
    J'aime reçus:
    0
    Bonjour à tous,

    je me permet de vous poser une petite question concernant la fonction mail() de PHP histoire de voir si c un probleme récurant ou si c lié à mon script ou mon hébergeur.

    j'essais d'envouer une sorte de newsletter aux membres de mon site (environs 40 personnes). j'ai donc ecrit un script qui me générer l'email et l'envois via une boucle for. Si je coupe ma boucle et n'envois qu'un seul email, je le recois sans probleme (donc pas considérer comme du spam sur gmail) mais si par exemple j'essais de l'envoyer 5 fois (que ce soit sur une meme adresse ou sur 5 adresses différents - toutes sous gmail), je recois aléatoirement entre 1 ou 3 emails seulement (rarement 4 et jamais 5), est-ce un probleme connu avec la fonction mail() de php ? ou bien est-ce un probleme lié à mon hébergeyr ?

    merci pour vos avis

    cordialement

    NiHaoma
     
  37. herve01
    herve01 WRInaute discret
    Inscrit:
    3 Mars 2004
    Messages:
    92
    J'aime reçus:
    0
    J'ai essayé les différentes solutions citées dans les précédents posts mais aucune ne m'a parue vraiment efficace.

    Par contre je viens de mettre en place une solution basée sur les sockets et du coup les messages envoyés ne sont plus bloqués ou placés dans le dossier "spam" des FAI. Certes c'est plus complexe à mettre en oeuvre mais ça vaut le coup.

    Adieu la fonction mail! 8)
     
  38. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    un meme mail identique envoyé au final sur plsuieurs adresses mais qui correspondent toutes à un seul et meme compte pop => (le mail était unique à l'envoi) + (liste des destinataires unique = un seul et meme compte pop) = un seul mail recu
     
  39. Nakago
    Nakago Nouveau WRInaute
    Inscrit:
    9 Mai 2005
    Messages:
    1
    J'aime reçus:
    0
    Bonjour tout le monde !

    J'ai une page html sur un serveur et je voudrais que son contenu s'affiche dans le corps d'un mail (envoyé avec la fonction mail). J'arrive à envoyer un message simple mais ca je n'arrive pas à le faire. Quelqu'un pourrait-il m'aider ?

    Merci
     
  40. nessytwinie
    nessytwinie Nouveau WRInaute
    Inscrit:
    19 Juillet 2005
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    J'ai testé le script de yannouk, mais j'ai un message d'erreur :
    "Warning: mail(): SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html."

    J'arrive à envoyer des message en html mais apparemment le multi part ne fonctionne pas.

    Faut-il modifier php.ini ?

    Merci de votre aide,
     
  41. Or-Bleu
    Or-Bleu Nouveau WRInaute
    Inscrit:
    30 Juillet 2005
    Messages:
    7
    J'aime reçus:
    0
    bjr,

    ce script marche bien sauf: que pour insérer des img dans l'email html, il faut modifier

    Code:
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; 
    par :
    Code:
    $message .= "Content-Transfer-Encoding: 8bit\n\n";
    il y a un autre problème, AOL refuse l'email html, ca envoie un email blanc. (titre du mess, mais sans le corp du mess).

    si quelqu'un a trouver comment finter la bétise d'AOL, ca serai cool de le partager.

    ++ :)
     
  42. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    merci or-bleu pour ta participation...
    malheureusement pour aol, mes compétences s'arretent là (j'ai d'ailleurs pas mal galéré pour en arriver déjà a ce résultat :p)
     
  43. Or-Bleu
    Or-Bleu Nouveau WRInaute
    Inscrit:
    30 Juillet 2005
    Messages:
    7
    J'aime reçus:
    0
    ok,

    si quelqu'un arrive à envoyer des emails html via un script automatique accédant aux boites mail d'aol.. qu'il se fasse connaitre plz :)[/img]
     
  44. alien7
    alien7 Nouveau WRInaute
    Inscrit:
    20 Octobre 2005
    Messages:
    17
    J'aime reçus:
    0
    J'ai un ptit problème avec le script,j'ai dû envoyer au moins 50 email et toujours le même problème.
    Mes liens ne marche pas, lorsque je recois un email avec outlook le lien ne fonctionne pas il retire un h du http dans le lien.

    Vou sauriez une ptite idée de la cause ?

    Merci
     
  45. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Sans soucis, j'envoi des mails hybrides text+html+attachement avec PHPMailer mais j'ai du demander à mon hebergeur de mettre en place le reverse DNS sur ma machine SMTP sinon aol me retournait les mails en erreur 421 DNSNR.

    Depuis, ça fonctionne nickel.
     
  46. alien7
    alien7 Nouveau WRInaute
    Inscrit:
    20 Octobre 2005
    Messages:
    17
    J'aime reçus:
    0
    Je n'ai pas ce problème avec thunderbird, alors pourquoi outlook m'enleve les h du http ??
     
  47. alien7
    alien7 Nouveau WRInaute
    Inscrit:
    20 Octobre 2005
    Messages:
    17
    J'aime reçus:
    0
    UP je n'ai toujours pas trouver la cause a mon probleme.

    Y'aurai t il d'autre option dans cette ligne ?
    Code:
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
    Sinon pour un site pro il est preferable d'envoyer un mail en html ou texte ? par exemple une confirmation d'inscription ?
     
  48. pierre_jean
    pierre_jean WRInaute occasionnel
    Inscrit:
    6 Avril 2005
    Messages:
    296
    J'aime reçus:
    0
    problème

    Bonjour,

    j'ai utilisé votre fonction mail() , car effectivement avant mes messages passs en spam. Le problème c'est que j'utilise votre astuce dans le cadre d'une recommandation de site, donc l'url de ce dernier apparait dans le corps du mail. Et systématiquement gmail catégorise les nouveaux mails comme spam ... parceque il y a une url à l'intérieur ?
    sinon commetn faire?

    voilà mon code type :
    Code:
    <?php
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"domaine.com\" <contact@domaine.com>\n";
    $headers .= "From: \"domaine.com\"<contact@domaine.com>\n";
    //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
    
    $destinataire = "visiteur@domaine.com";
    
    $subject = "Sujet de mail";
    
    $message_txt  = "Salut Alphonse\n\n";
    $message_txt .= "Ca va ?\n";
    $message_txt .= "C'était juste pour savoir..\n\n";
    $message_txt .= "A plus\n";
    $message_txt .= "regardes mon site";
    
    $message_html  = "<html>\n";
    $message_html .= "<body>\n";
    $message_html .= "<b>Salut Alphonse</b><br><br>";
    $message_html .= "Ca va ?<br>";
    $message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
    $message_html .= "A plus<br>";
    $message_html .= "<a href=\"https://www.google.fr\">regardes mon site</a>";
    $message_html .= "</body>\n";
    $message_html .= "</html>\n";
    
    $message  = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";
    
    mail($destinataire, $subject, $message, $headers);
    ?>
    
    merci d'avance,

    Cdlt,

    P.J.
     
  49. yannouk
    yannouk WRInaute passionné
    Inscrit:
    11 Octobre 2003
    Messages:
    1 559
    J'aime reçus:
    0
    pour ma part aucun probleme avec gmail, je place des liens vers mon site et les mails arrivent!

    pour le probleme d'alien7, certaines lettres ou chiffres, nottament en utilisant les variables, se retrouvaient supprimées, a cause du type d'encodage utilisé.

    J'ai solutionné en rajoutant ces lignes:

    chercher
    Code:
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    ajouter
    Code:
    $message .= "Content-Transfer-Encoding: base64\r\n\r\n";
    $message .= chunk_split(base64_encode($message_html));
     
  50. attentio
    attentio WRInaute discret
    Inscrit:
    29 Mars 2005
    Messages:
    99
    J'aime reçus:
    0
    bonjour,
    je patauge ...je patauge :cry:
    voila je voudrais envoyer mes mails uniquement au format html.

    mais soucis, dès que je mets une image, mon mail est envoyé dans le courrier indesirable.
    j'ai pourtant rajouté
    "Content-Transfer-Encoding: 8bit\n\n";
    comme le conseillait or-bleu
    Code:
    <?
    $boundary = "-----=" . md5( uniqid ( rand() ) ); 
    $entete = "Reply-to: \"mon_site.com\" <contact@mon_site.com>\n"; 
    $entete .= "From: \"mon_site.com\"<contact@mon_site.com>\n"; 
    $entete .= "MIME-Version: 1.0\n"; 
    $entete .= "Content-Type: multipart/alternative; boundary=\"$boundary\""; 
    
    $destinataire = "mail@hotmail.com"; 
    $sujet = "Sujet de mail"; 
    $message='<html><img src="http://www.mon_site.com/logo_petit.gif"><br><p>hello</p></html>';
      
    
    $message_envoi  = "This is a multi-part message in MIME format.\n\n"; 
    $message_envoi .= "--" . $boundary . "\n"; 
    $message_envoi .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
    $message_envoi .= "Content-Transfer-Encoding: quoted-printable\n\n"; 
    $message_envoi .= "\n\n"; 
    $message_envoi .= "--" . $boundary . "\n"; 
    $message_envoi .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 
    $message_envoi .= "Content-Transfer-Encoding: 8bit\n\n";
    $message_envoi .= $message; 
    $message_envoi .= "\n\n"; 
    $message_envoi .= "--" . $boundary . "--\n"; 
    
    mail($destinataire, $sujet, $message_envoi, $entete);
    ?>
    
    il ya surement des choses inutiles dans mon code ....

    merci infiniment de votre aide
     
  51. JayJayPackman
    JayJayPackman Nouveau WRInaute
    Inscrit:
    27 Mai 2005
    Messages:
    5
    J'aime reçus:
    0
    J'utilise cette fonction pour envoyer des mail j'ai un problème à la reception du mail.

    Hotmail me propose de telecharger les deux partie du messages au lieu de me montrer le corps html.
    Et dans mon client outlook j'obtiens la totalité du message.

    voici le code utilisé :
    Code:
    $to = "moi@moi.com <moi@moi.com>";
    
    //ident of the part of the message
    $boundary = uniqid("Recommended");
    
    //subject of the message
    $subject = "Page Recommandé par Toto;
    
    
    // common header of the plain and html version of the message
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"". $boundary . "\"\n\n";
    //$headers .= "Content-Transfer-Encoding: \"7bit\"\n\n";
    
    //begin of the message
    $message = "This is a multipart message Text.\n\n";
    
    // plain text version of the message
    $message .= "--$boundary\n";
    $message .= "Content-Type: \"text/plain\"; charset=\"iso-8859-1\"\n\n";
    $body = "Test message \n\n";
    $message .= $body;
    $message .= "\n\n";
    
    //html version of the message
    $message .= "--$boundary\n";
    $message .= "Content-Type: \"text/html\"; charset=\"iso-8859-1\"\n\n";
    $body = "<html>\n";
    $body .= "<head>\n";
    $body .= "</head>\n";
    $body .= "<body bgcolor='#CCCCCC'>\n";
    $body .= "</body></html>\n";
    $message .= $body;
    $message .= "\n\n";
    $message .= "--$boundary--\n";
    $headers .= $message;
    
    
    
    if (mail($to, $subject, '', $headers)) {
        echo "MAIL OK !";
    } else {
        echo "mail failed ! ";
    }
    Et le resultat :
    [​IMG]

    [​IMG]

    et le code de la page sous hotmail :
    Code:
    X-Message-Status: n:0
    X-SID-PRA: www-data <www-data@arf>
    X-SID-Result: TempError
    X-Message-Info: 6sSXyD95QpWCIk0GgictX/+r8DfTFDC2mQyW+U8MC+s=
    Received: from srv-dev-1-web-ft-1 ([195.167.197.96]) by bay0-mc7-f5.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.211);
    	 Mon, 12 Dec 2005 07:32:38 -0800
    Received: from www-data by srv-dev-1-web-ft-1 with local (Exim 3.35 #1 (Debian))
    	id 1ElpfG-0007ru-00
    	for <moi@moi.com>; Mon, 12 Dec 2005 16:32:34 +0100
    To: friend <moi@moi.com>
    Subject: Page Recommandé par Jeremy
    From:Jeremy <moi@moi.com>
    MIME-Version: 1.0
    Content-Type: multipart/alternative; boundary="Recommended439d98122f874"
    Message-Id: <E1ElpfG-0007ru-00@srv-dev-1-web-ft-1>
    Sender: www-data <www-data@arf>
    Date: Mon, 12 Dec 2005 16:32:34 +0100
    Return-Path: www-data@arf
    X-OriginalArrivalTime: 12 Dec 2005 15:32:39.0290 (UTC) FILETIME=[48FC45A0]
    
    
    
    This is a multipart message Text.
    
    --Recommended439d98122f874
    Content-Type: "text/plain"; charset="US-ASCII"
    
    Test message 41
    
    test message 
    
    link html : 
    
    Http://moi.moi.com
    
    --Recommended439d98122f874
    Content-Type: "text/html"; charset="US-ASCII"
    
    <html>
    <head>
    </head>
    <body bgcolor='#CCCCCC'>
    Test message 41<br>
    test message 
    
    link html : 
    
    Http://moi.moi.com
    </body></html>
    
    --Recommended439d98122f874--
    
    Pourquoi il ne me propose pas de visualiser la partie html dans les deux cas ?
     
  52. Objectif Lune
    Objectif Lune WRInaute discret
    Inscrit:
    25 Novembre 2002
    Messages:
    71
    J'aime reçus:
    0
    Salut,

    Je remonte un peu le sujet car j'ai une question relative à votre discussion : est-ce que ce n'est pas dangereux d'avoir "webusers@localhost by sdxxx.sivit.org" affiché dans le header même si ce n'est pas l'email directement affiché ? C'est juste parce que je m'apprête à envoyer une première newsletter et je ne souhaite avoir du spam ou pire en retour...

    D'ailleurs, quelqu'un sait-il comment faire pour avoir un "noreply@mondomaine.com" par exemple :?: Est-ce que ça évite le spam ?

    Merci de votre aide, il faudrait que la newsletter parte aujourd'hui car ça fait plusieurs jours que je suis sur le problème, sans solution :roll:
     
  53. lolo55
    lolo55 Nouveau WRInaute
    Inscrit:
    10 Mars 2007
    Messages:
    1
    J'aime reçus:
    0
    ne marche pas !

    Bonjour,

    je m'adresse a yannouk, voila j'ai moi aussi ce probleme d'envoi de mailing ou mes visiteurs lors de la newsletter recoivent en courier indesirable, la majorité en hotmail (hotmail.com,etc...)

    J'ai tester ton astuce qui malheureusement ne marche pas car j'ai pu tester sur une de mes adresse hotmail.com, je sais vraiment plus comment faire, mais si tu ou bien quelqu'un d'autres a une astuce pour regler ce probleme qui me tiens bcp a coeur, ca serait sympa !

    J'ai mis ce code la :

    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"monsite.com\" <contact@monsite.com>\n";
    $headers .= "From: \"monsite.com\"<users@mail.nomduserveur.com>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";

    $destinataire = "mon_adresse_de_test@hotmail.com";

    $subject = "Sujet de mail";

    $message_txt = "Salut Alphonse\n\n";
    $message_txt .= "Ca va ?\n";
    $message_txt .= "C'était juste pour savoir..\n\n";
    $message_txt .= "A plus\n";
    $message_txt .= "toto";

    $message_html = "<html>\n";
    $message_html .= "<body>\n";
    $message_html .= "<b>Salut Alphonse</b><br><br>";
    $message_html .= "Ca va ?<br>";
    $message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
    $message_html .= "A plus<br>";
    $message_html .= "<u>toto</u>";
    $message_html .= "</body>\n";
    $message_html .= "</html>\n";

    $message = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";

    mail($destinataire, $subject, $message, $headers);


    Naturellment j'ai modifier mon 'From' en mettant mon 'return path' !

    Voila esperont que vous pourrez m'aider !
     
  54. pstory
    pstory Nouveau WRInaute
    Inscrit:
    9 Janvier 2009
    Messages:
    1
    J'aime reçus:
    0
  55. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 543
    J'aime reçus:
    0
    ouhhh ! vieux déterrage pour faire sa pub ? :D
     
  56. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 003
    J'aime reçus:
    128
    Je n'ai pas testé sa classe, mais a priori aucune modif depuis 2001, ca fait un peu peur... Je trouve qu'actuellement on ne fait pas mieux que phpmailer.
     
  57. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 543
    J'aime reçus:
    0
    SwiftMailer :p
     
  58. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    939
    J'aime reçus:
    2
    effectivement :)
    par contre depuis 2005 la problématique à évoluer s'agit pas uniquement de bien former son mail, mais aussi de montrer patte blanche au grand FAI qui ont vite fait de te passer en spam si t'es pas copain avec eux ...
     
Chargement...
Similar Threads - [SOLUTION] Mail fonction Forum Date
[php] [solution] écrire en français le temps écoulé entre deux dates Développement d'un site Web ou d'une appli mobile 22 Septembre 2010
[Solution] PHP5 chez 1&1 Développement d'un site Web ou d'une appli mobile 19 Juillet 2010
[SOLUTION] Differencier IE6 IE7 et FIREFOX en CSS Développement d'un site Web ou d'une appli mobile 8 Janvier 2008
Quel client EMail Linux ? Le café de WebRankInfo 2 Juillet 2022
Maillage interne Débuter en référencement 24 Juin 2022
Adresse mail ne fonctionne plus après modif de DNS Noms de domaine et référencement 26 Mai 2022
Maillage interne et catégories WP Netlinking, backlinks, liens et redirections 23 Mai 2022
Comment créer un fichier SPF (authentification emails) ? Noms de domaine et référencement 14 Mars 2022
Morosité de café: J'arrive pas à envoyer un mail de newsletter. Administration d'un site Web 16 Février 2022
Menu, liens et maillage du site Débuter en référencement 6 Janvier 2022
Email bizarre de Google - GMB Google : l'entreprise, les sites web, les services 13 Décembre 2021
WordPress Projet de refonte maillage interne siloing/custom taxonomie Techniques avancées de référencement 18 Novembre 2021
Avis sur une campagne emailing Demandes d'avis et de conseils sur vos sites 12 Novembre 2021
La fonction mail (PHP) ne passe pas ! Demandes d'avis et de conseils sur vos sites 28 Juin 2021
Astuce Brainstorming sur les préfixes d'un mail pro Le café de WebRankInfo 12 Avril 2021
DMARC quelle email ? Droit du web (juridique, fiscalité...) 9 Avril 2021
Problème mail automatique Développement d'un site Web ou d'une appli mobile 31 Mars 2021
Maillage interne et jus de liens Débuter en référencement 28 Février 2021
Les mails de mon domaine considéré comme spam Administration d'un site Web 19 Février 2021
Liens ventes croisées et maillage interne | E-commerce Netlinking, backlinks, liens et redirections 25 Novembre 2020