France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 749 membres enregistrés - 1 888 016 posts - 96 578 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Langages Web
                [PHP] Problème avec la fonction mail()
20 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
[PHP] Problème avec la fonction mail()

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 02 mai 2004 - 16 h 42 m 24 s
Bonjour à tous ! :hello:

Voilà je désire envoyer des mails en html.
Pour l'instant, j'ai une newsletter qui n'envoie qu'en texte normal grâce à ce code :

function newsletter_send($title, $content) {
global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
$from = $adminmail;
$subject = "[$sitename Newsletter]: ".stripslashes($title)."";
$content = stripslashes($content);
$content = "$sitename "._NEWSLETTER."nnn$contentnn- $sitename "._STAFF."nnnnnn"._NLUNSUBSCRIBE."";
$result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
while(list($email) = sql_fetch_row($result, $dbi)) {
mail($email, $subject, $content, "From: $fromnX-Mailer: PHP/" . phpversion());
}
Header("Location: admin.php?op=newsletter_sent");
}


Pour avoir des mail en format html j'ai modifié comme ceci :


function newsletter_send($title, $content) {
global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
$from = $adminmail;
$subject = "[$sitename Newsletter]: ".stripslashes($title)."";
$content = stripslashes($content);
$content = "$sitename "._NEWSLETTER."nnn$contentnn- $sitename "._STAFF."nnnnnn"._NLUNSUBSCRIBE."";
$result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
$headers = "MIME-Version: 1.0n"
$headers .= "Content-type: text/html; charset=iso-8859-1n"
$headers .= "Content-Transfer-Encoding: 8bitn"
$headers .= ""From: $fromnX-Mailer: PHP" . phpversion()";
while(list($email) = sql_fetch_row($result, $dbi)) {
mail($email, $subject, $content, $headers);
}
Header("Location: admin.php?op=newsletter_sent");
}


Malheureusement, avec ces modifs la page ne s'affiche même plus. Quelles erreurs ai-je fait ?

Merci d'avance :jap:


Message édité 1 fois, la dernière par Erel69 le 05 mai 2004 - 10 h 10.

http://www.les5elements.com/

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 02 mai 2004 - 16 h 44 m 35 s
PS : je n'utilise pas les balises [ code] car ça me pourri tout mon code :

    Code php    
 1. <?php
 2. function newsletter_send($title, $content) {
 3.     global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
 4.     $from = $adminmail;
 5.     $subject = "[$sitename Newsletter]: ".stripslashes($title)."";
 6.     $content = stripslashes($content);
 7.     $content = "$sitename "._NEWSLETTER."nnn$contentnn- $sitename "._STAFF."nnnnnn"._NLUNSUBSCRIBE."";
 8.     $result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
 9.     while(list($email) = sql_fetch_row($result, $dbi)) {
10. 	mail($email, $subject, $content, "From: $fromnX-Mailer: PHP/" . phpversion());
11.     }
12.     Header("Location: admin.php?op=newsletter_sent");
13. }
14. 
15. ?>
    Code php    
 1. function newsletter_send($title, $content) {
 2.     global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
 3.     $from = $adminmail;
 4.     $subject = "[$sitename Newsletter]: ".stripslashes($title)."";
 5.     $content = stripslashes($content);
 6.     $content = "$sitename "._NEWSLETTER."nnn$contentnn- $sitename "._STAFF."nnnnnn"._NLUNSUBSCRIBE."";
 7.     $result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
 8. $headers  = "MIME-Version: 1.0n"
 9. $headers .= "Content-type: text/html; charset=iso-8859-1n"
10. $headers .= "Content-Transfer-Encoding: 8bitn"
11. $headers .= ""From: $fromnX-Mailer: PHP" . phpversion()";
12.     while(list($email) = sql_fetch_row($result, $dbi)) {
13.  mail($email, $subject, $content, $headers);
14.     }
15.     Header("Location: admin.php?op=newsletter_sent");
16. }


Y'a plus le début !


Message édité 1 fois, la dernière par Erel69 le 03 mai 2004 - 00 h 33.

http://www.les5elements.com/

alitokmen
Think ®

Messages : 3 687
Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
  Posté le 02 mai 2004 - 21 h 18 m 29 s
Ça veut dire quoi exactement "page qui ne s'affiche plus" ?



S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com


alitokmen
Think ®

Messages : 3 687
Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
  Posté le 02 mai 2004 - 21 h 29 m 41 s
Te manquent des ; !!!!!!!



$content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE."";
$result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
$headers = "MIME-Version: 1.0\n"";
$headers .= "Content-type: text/html; charset=iso-8859-1\n"";
$headers .= "Content-Transfer-Encoding: 8bit\n";



S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com


TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 03 mai 2004 - 22 h 01 m 29 s


Le 02 mai 2004 à 21 h 18, alitokmen a écrit :
Ça veut dire quoi exactement "page qui ne s'affiche plus" ?


Cela faisait une page blanche sans aucune erreur.



http://www.les5elements.com/

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 03 mai 2004 - 22 h 02 m 32 s


Le 02 mai 2004 à 21 h 29, alitokmen a écrit :
Te manquent des ; !!!!!!!



$content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE."";
$result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
$headers = "MIME-Version: 1.0\n"";
$headers .= "Content-type: text/html; charset=iso-8859-1\n"";
$headers .= "Content-Transfer-Encoding: 8bit\n";



:jap: :jap:

:cutter:



http://www.les5elements.com/

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 03 mai 2004 - 22 h 07 m 31 s
Une autre question : Ma fonction (du moins la partie que j'ai rajouter) est-elle bien implémenter ?

Erel toi qui en as ch** avec cet en-tête, est-ce bien comme cela ?

Merci d'avance :jap:

EDIT : Bon j'ai essayé ça marche. Donc mon problème est réglé merci.

Enfin réglé, peut-être que j'aurais des questions lpus tard, lol ! :-P


Message édité 1 fois, la dernière par TorTue le 03 mai 2004 - 23 h 11.

http://www.les5elements.com/

Sn@ke
Admin. Métaforum
(¯`·.__[T3aM.St4rG4t3]__.·´¯)

Messages : 11 741
Inscrit le 07/11/01
Ville : Lyon/Grenoble
Non connecté
  Posté le 04 mai 2004 - 00 h 59 m 06 s
Cadeau pour faire des mails qui respectent les RFC :
    Code     
1. /* Encode les sujets de mail pour respecter la RFC2047 */
2. Function mail_subject_encode($chaine) {
3.  return '=?iso-8859-1?Q?'.str_replace("=\r\n","?= =?iso-8859-1?Q?",str_replace(" ","_",imap_8bit($chaine))).'?=';
4. }


Message édité 1 fois, la dernière par Sn@ke le 04 mai 2004 - 00 h 59.

Je ne connais pas la moitié d'entre vous à moitié autant que je le voudrais; et j'aime moins que la moitié d'entre vous à moitié aussi bien que vous le méritez

Sn@ke
Admin. Métaforum
(¯`·.__[T3aM.St4rG4t3]__.·´¯)

Messages : 11 741
Inscrit le 07/11/01
Ville : Lyon/Grenoble
Non connecté
  Posté le 04 mai 2004 - 01 h 00 m 32 s
bon enfin vu que le code merde à toi de virer le spoints et de mettre les antislashs ou il faut :P



Je ne connais pas la moitié d'entre vous à moitié autant que je le voudrais; et j'aime moins que la moitié d'entre vous à moitié aussi bien que vous le méritez

TorTue
"Je sais que je ne sais rien."

Messages : 2 137
Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
  Posté le 04 mai 2004 - 22 h 01 m 19 s


Le 04 mai 2004 à 00 h 59, Sn@ke a écrit :
Cadeau pour faire des mails qui respectent les RFC :
    Code     
1. /* Encode les sujets de mail pour respecter la RFC2047 */
2. Function mail_subject_encode($chaine) {
3.  return '=?iso-8859-1?Q?'.str_replace("=rn","?= =?iso-8859-1?Q?",str_replace(" ","_",imap_8bit($chaine))).'?=';
4. }



Ce n'est à utiliser que pour le sujet ?

:jap:


Message édité 1 fois, la dernière par TorTue le 04 mai 2004 - 22 h 02.

http://www.les5elements.com/

Page genérée en 0.8395 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory