Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/06/2011, 20h15   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 13
Points : 13
Par défaut problème d'accent avec la fonction mail

Bonsoir tout le monde,
Je rencontre un petit problème avec l'envois d'un mail

le message à la base est:

Citation:
Monsieur,

Infographiste de formation, j’ai déjà eu l’honneur d’ évoluer durant un stage de 7 semaines parmis vous, celui-ci m’a été fort bénéfique et plaisant. Fortement interressé par le secteur que vous dirigez, j’aimerais pouvoir mettre mon talent, ma créativité et mon dynamisme à votre service.

Je vous joins à cette lettre mon CV ainsi qu’une lettre de recommandation obtenue durant ce stage.

Lors d’un entretien, j’aurai le plaisir de vous donner plus de détail sur mon profil et mon savoir faire.


Veuillez agréer, Monsieur, Madame, mes salutations distinguées.
voici ce que je reçois en arrivée:

Citation:
Monsieur,

Infographiste de formation, j?ai déjà eu l?honneur d? évoluer durant un stage de 7 semaines parmis vous, celui-ci m?a été fort bénéfique et plaisant. Fortement interressé par le secteur que vous dirigez, j?aimerais pouvoir mettre mon talent, ma créativité et mon dynamisme à votre service.

Je vous joins à cette lettre mon CV ainsi qu?une lettre de recommandation obtenue durant ce stage.

Lors d?un entretien, j?aurai le plaisir de vous donner plus de détail sur mon profil et mon savoir faire.


Veuillez agréer, Monsieur, Madame, mes salutations distinguées.
le ' et à ont été modifié par un ?, bizarement le é a survit ^^

Voici la fonction que j'utilise pour le mail

Code :
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
public function mailCandidat($message,$object,$mail_contact,$cc,$cci)
	{
		//mail-------------------------------------------------------------------------------
		$pseudo = 'Urbantech (jobs)';
		$piecejointe = '';
		$mail = 'monMail@monMail.be'; // Déclaration de l'adresse de destination.-
		// On filtre les serveurs qui présentent des bogues.
		if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail_contact)) // On filtre les serveurs qui présentent des bogues.
		{
			$passage_ligne = "\r\n";
		}else{
			$passage_ligne = "\n";
		}
		//=====Déclaration des messages au format texte et au format HTML.
		$message_txt = "";
		$message_html =
		'<html>
			<head>
			<meta http-equiv=\"Content-Type\" content=\"text/HTML; charset=utf-8\" />
			</head>
			<body>
				<br />
				'.nl2br($message).'<br /><br />
			</body>
		</html>';
		//==========
		//=====Lecture et mise en forme de la pièce jointe.
		if($piecejointe != '')
		{
			$fichier   = fopen($piecejointe, "r");
			$attachement = fread($fichier, filesize($piecejointe));
			$attachement = chunk_split(base64_encode($attachement));
			fclose($fichier);
		}
		//==========
		//=====Création de la boundary.
		$boundary = "-----=".md5(rand());
		$boundary_alt = "-----=".md5(rand());
		//==========
		//=====Définition du sujet.
		$sujet = $object;
		//=========
		//=====Création du header de l'e-mail.
		$header = "From: \"".$pseudo."\"<".$mail.">".$passage_ligne;
		$header.= "Reply-to: \"".$pseudo."\" <".$mail.">".$passage_ligne;
		$header.= "CC: ".$cc." \r\n";
		$header.= "Bcc: ".$cci." \r\n";
		$header.= "MIME-Version: 1.0".$passage_ligne;
		$header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
		//==========
		//=====Création du message.
		$message = $passage_ligne."--".$boundary.$passage_ligne;
		$message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
		$message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
		//=====Ajout du message au format texte.
		$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
		$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
		$message.= $passage_ligne.$message_txt.$passage_ligne;
		//==========
		$message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
		//=====Ajout du message au format HTML.
		$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
		$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
		$message.= $passage_ligne.$message_html.$passage_ligne;
		//==========
		//=====On ferme la boundary alternative.
		$message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
		//==========
		$message.= $passage_ligne."--".$boundary.$passage_ligne;
		//=====Ajout de la pièce jointe.
		if($piecejointe != '')
		{
			$message.= "Content-Type: image/jpeg; name=\"".$piecejointe."\"".$passage_ligne;
			$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
			$message.= "Content-Disposition: attachment; filename=\"".$piecejointe."\"".$passage_ligne;
			$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
			$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
			$message;
		}
		//========== 
		//=====Envoi de l'e-mail.
		if(mail($mail_contact,utf8_decode($sujet),utf8_decode($message),$header))
		{
			echo '<script language="javascript">alert("Les informations ont bien été transmises")</script>';
			return true;
		}else{
			echo '<script language="javascript">alert("Erreur : Echec de l\'envois du mail")</script>';
			return false;
		}
		//==========
	}
Une idée du problème?

Merci d avance
healou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 22h44   #2
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Salut,

essaie de changer cette ligne :

Code :
1
2
 
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
par

Code :
1
2
 
$message.= "Content-Type: text/html; charset=\"UTF-8\"".$passage_ligne;
Finality est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/06/2011, 23h59   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 13
Points : 13
Yeahhh t'as solution + un stripslashes et ca fonction parfaitement!

Merci
healou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h02.


 
 
 
 
Partenaires

Hébergement Web