Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Debutant : formulaire dans un swich et envoi par contact.php

3 réponses
Avatar
Didier
Bjr,

J'ai un formulaire dans un fichier swich qui récupère des infos, je voudrais
les envoyées par mail via un fichier contact.php.

Ca plante toujours ligne 10 dans le contact.php :

$societe=$_GET["name"];
$nom=$_GET["name1"];
$mail=$_GET['email'];
$message=$_GET['comment_'];

$recipient_email="toto@toto.com"

10 -> $From = "From ". $mail .;
$From . = "From " . $nom ." <" . $mail .">\n";
$From . = 'Content-type: text/html; charset=iso-8859-1';

$content ="<html><head><title> Contact
commercial</title></head><body><br>";
$content .="Societe : <b>" . $societe ."</b><br>";
$content .="Nom : <b>" . $nom ."</b><br>";
$content .="Email : <b>" . $mail ."</b><br><hr><br>";
$content .= $message;
$content .="<br></body></html>";

mail($recipient_email,$subject,$content,$headers);
?>
<html>
<body bgcolor="#282e2c">
<div align="center"
style="margin-top:60px;color:#ffffff;font-size:11px;font-family:tahoma;font-weight:bold">
Votre message a été envoyé avec succès, merci.
</div>
</body>
</html>
<script>resizeTo(300,300)</script>





A l'aide....merci d'avance à une âme charitable

Didier

3 réponses

Avatar
Toto Le Ouf
10 -> $From = "From ". $mail .;


Enlève le point ainsi que l'espace avant le point-virgule : $From = "From ".
$mail;

T.

Avatar
Olivier Miakinen

J'ai un formulaire dans un fichier swich qui récupère des infos, je voudrais
les envoyées par mail via un fichier contact.php.


Attention danger : si tu ne connais pas bien le principe de
fonctionnement du protocole SMTP (et surtout le format des
messages), tu as 99,99 % de chances d'en faire un relais à
spam.

Ca plante toujours ligne 10 dans le contact.php :


Toto t'a donné la cause du plantage, mais à tout prendre il vaut mieux
que ça plante plutôt que de voir ton compte fermé après que ton serveur
aura spammé la moitié de la planète.

$societe=$_GET["name"];
$nom=$_GET["name1"];
$mail=$_GET['email'];
$message=$_GET['comment_'];


Aucun contrôle ? Pas bien, ça.

$recipient_email=""


Ok, celui-ci est en dur.

10 -> $From = "From ". $mail .;
$From . = "From " . $nom ." <" . $mail .">n";


Là, un spammeur peut injecter 10 000 adresses à spammer dans $nom, et
10 000 autres dans $mail.

$From . = 'Content-type: text/html; charset=iso-8859-1';

$content ="<html><head><title> Contact
commercial</title></head><body><br>";
$content .="Societe : <b>" . $societe ."</b><br>";
$content .="Nom : <b>" . $nom ."</b><br>";
$content .="Email : <b>" . $mail ."</b><br><hr><br>";
$content .= $message;
$content .="<br></body></html>";


Ok pour $content. Là on s'en fiche, c'est dans la zone plus sûre (après
le double CR+LF).

mail($recipient_email,$subject,$content,$headers);


Et $subject ? Et $headers ? Ils sont définis où ?
S'ils viennent aussi de $_GET[], voilà encore deux endroits pour y
injecter 10 000 adresses à spammer (plus le contenu du spam, j'avais
oublié de le préciser).

A l'aide....merci d'avance à une âme charitable


Comme mesure d'urgence :
if (strstr($nom, "n") !== false) { die("oh le vilain spammeur"); }
... et la même chose pour toutes les variables d'entêtes.

Mais il vaut mieux se renseigner un peu plus avant d'utiliser la
fonction mail().

Avatar
Sitch

Bjr,

J'ai un formulaire dans un fichier swich qui récupère des infos, je voudrais
les envoyées par mail via un fichier contact.php.

Ca plante toujours ligne 10 dans le contact.php :

$societe=$_GET["name"];
$nom=$_GET["name1"];
$mail=$_GET['email'];
$message=$_GET['comment_'];

$recipient_email=""

10 -> $From = "From ". $mail .;


...


A l'aide....merci d'avance à une âme charitable

Didier


Si ton source est exactement tel que tu l'as posté, il manque un ; à
la fin de la ligne précédente (9) d'où l'erreur en ligne 10.
Et il replantera en ligne 10 pour le point en fin de ligne avant le ;

Sitch