problème fonction mail() (reception du mail avec balise)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème fonction mail() (reception du mail avec balise)

par phi3001 » 02 nov. 2007, 10:49

C'est bon j'ai trouvé

en fait dans les variables $headers il ne faut pas mettre "/r/n" mais simplement "n".

voila ou j'ai trouvé la solution

http://www.developpez.net/forums/showth ... p?t=110757

par contre il dise que par securité il faut quand meme mettre "/r/n" sur le dernier $headers. mais si je fais ca le corp du message est toujours bizzare.

c'est un formulaire ou seul moi aura l'acces donc j'ai pas besoin d'une securité optimal

en tous cas merci a tous pour votre super aide

par phi3001 » 02 nov. 2007, 10:13

bonjour

je suis toujours avec mon soucis de mail
quand j'envoi donc un mail sur gmail voila ce que je recois

comment puis je resoudre ce problème ?
avec les balises html ca ne marche pas non plus

j'ai essayé de remplacer le contenu de ma variable $message par un simple "bonjour" pour essayer, mais le resulat est le meme. j'ai toujours le haut du message.

Content-type: text/html; charset=iso-8859-1

Message-Id: <[email protected]>
Date: Fri, 2 Nov 2007 09:06:11 +0100 (CET)


<p><img src='http://membres.lycos.fr/agendaperso/site/EURODEAL.jpg' /></p>
<font face="arial" color=#0000000 size=4>Bonjour, votre colis n° 1234567788888 est bien parti. <br> vous pouvez suivre
son acheminement à tous moment sur le site internet de la poste <br><br>
<a href="http://www.coliposte.fr/gp/index.jsp">CLIQUEZ ICI POUR ACCEDER AU SERVICE COLIPOSTE</a>

par Truc » 02 nov. 2007, 01:01

Essayes de mettre les balises <html> </html>.
En effet ça peut aider de respecter une bonne syntaxe :wink:

par h0_noMan » 02 nov. 2007, 00:45

Essayes de mettre les balises <html> </html>.

Je nesuis pas sur que ca change, mais ca ne coute rien d'essayer.

par Truc » 02 nov. 2007, 00:43

aucune idée :?

Un paramètre de configuration de la boite gmail peut être

par phi3001 » 01 nov. 2007, 23:56

bonsoir,

l'erreur venait de headers from dans lequel je dois mettre le bonne adresse de messagerie sinon c'est considere comme du spam

bon maintenant le mail j'arrive a le recevoir parfaitement sur outlook ou hotmail mais sur gmail il me mets textuellement le contenu de ma variable $message.

comment corriger ce probleme ?
<style type="text/css">
<!--
body {

}
-->
</style><?php

/**
 *
 *
 * @version $Id$
 * @copyright 2007
 *
 */
$headers  = 'From: Eurodeal4u <[email protected]>'."\r\n";
$headers  .= 'MIME-Version: 1.0' . "\r\n";
$headers  .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";




$objet = $_POST['objet'];
$numero=$_POST['numero'];
$votremail=$_POST['votremail'];

$message="<p><img src='http://membres.lycos.fr/agendaperso/site/EURODEAL.jpg' /></p>
<font face=\"arial\" color=#0000000 size=4>Bonjour, votre colis n° $numero est bien parti. <br> vous pouvez suivre
son acheminement à tous moment sur le site internet de la poste <br><br>
<a href=\"http://www.coliposte.fr/gp/index.jsp\">CLIQUEZ ICI POUR ACCEDER AU SERVICE COLIPOSTE</a>";

if (mail($votremail, $objet ,$message, $headers))
 {
	echo $message;
}
else
{
echo "erreur";
}

?>

[/code]

par Truc » 01 nov. 2007, 23:27

change de boite mail, regarde dans les spams de ta boite et ajuste les en-têtes si nécessaire.

par phi3001 » 01 nov. 2007, 21:30

maintenant le formulaire fonctionne mais
mais aucun mail n'es recu

quelqu'un serait t'il sur ovh pour m'aider ?

par Truc » 01 nov. 2007, 20:32

Tu sembles avoir un serveur local avec la directive register_global à ON

Pense à récupérer les variables url en passant par $_GET et les formulaires par $_POST.

par phi3001 » 01 nov. 2007, 20:26

il est ds ma premiere partie de code

contact.html
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
	<title>contactez moi</title>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="mail.php">
<h2> CONTACT </h2>
<p>
email du destinataire
  <input type="text" method ="post" name="votremail" />
<input type="hidden" name="objet" value="Votre colis est expedie" />
</p>
<p>Numero du colis 
  <input name="numero" type="text" id="numero" />
</p>
<p>
<input type="submit" value="envoyer" />
</p>
</form>
</body>
</html>

par Truc » 01 nov. 2007, 20:12

le message "erreur", je l'ai fait de facon a ce que si l'envoi de mail ne se fait pas, qu'un message d'erreur se fasse.
Tout à fait... mais $votremail est toujours indéfinie... où est elle initialisée ?

par phi3001 » 01 nov. 2007, 19:58

le message "erreur", je l'ai fait de facon a ce que si l'envoi de mail ne se fait pas, qu'un message d'erreur se fasse.
et $from etait de trop c'est vrai

il doit y a avoir un probleme de config avec ovh.

tout marche super bien en local

par Truc » 01 nov. 2007, 19:51

Le message provient de ton script en cas d'erreur de la fonction mail().

Tu devrais regarder ce tuto pour l'ensemble des en-têtes.

$from ne sert à rien là où elle est placé et $votremail est indéfinie.

par phi3001 » 01 nov. 2007, 19:47

sur la page mail.php apparait "erreur"

est ce une erreur de script ou un problème du a ovh

mail.php


<style type="text/css">
<!--
body {

}
-->
</style><?php

/**
 *
 *
 * @version $Id$
 * @copyright 2007
 *
 */
$headers  = 'From: Eurodeal4u <[email protected]>'."\r\n";
$headers  .= 'MIME-Version: 1.0' . "\r\n";
$headers  .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";




$objet = $_POST['objet'];
$numero=$_POST['numero'];
$message="<p><img src='http://membres.lycos.fr/agendaperso/site/EURODEAL.jpg' /></p>
<font face=\"arial\" color=#0000000 size=4>Bonjour, votre colis n° $numero est bien parti. <br> vous pouvez suivre
son acheminement à tous moment sur le site internet de la poste <br><br>
<a href=\"http://www.coliposte.fr/gp/index.jsp\">CLIQUEZ ICI POUR ACCEDER AU SERVICE COLIPOSTE</a>";


$from="from eurodeal4u";
if (mail($votremail, $objet ,$message, $headers))
 {
	echo $message;
}
else
{
echo "erreur";
}

?>

[/code]

par Truc » 01 nov. 2007, 19:36

j'ai pris un compte chez ovh et la ou je croyais mes problèmes resolus, le script ne marche pas
C'est à dire ?