Formulaire sans passer par outlook [Résolu/Fermé]

Signaler
Messages postés
152
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
9 mars 2014
-
Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
-
salut a tous,

je voudrais savoir comment on fait pour qu'un formulaire de contact par exemple envoie un mail sans passer par outlook? car j'en ai fait un sur mon site mais ca passe a chaque fois par outlook.....

merci de votre aide..

12 réponses

Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
4 269
Il faut utiliser un langage côté serveur (et ton hébergeur doit accepter la fonction mail()).
Bases-toi sur ce script.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
vendredi 11 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2009
1
En php !!!
Un formulair en html:
<form method=POST action=traitement.php >					
	  <input type=hidden name=subject value=formmail>
		<a name="mail">
		  <span class="titre">
			Ecrire au webmestre:
		  </span>
		</a>
<br />
<br />
			<p class="MsoNormal">
			<b>Prenom</b>
			<br />
			<input name="nom" type="text">
			</p>
			<p class="MsoNormal">
			<b>@-mail:</b>
			<br />
			<input name="email" type="text">
			</p>
	<p class="MsoNormal">
	  <b>Votre message:</b>
	<br />
	  <textarea name="comments" rows="5" cols="40">
	  </textarea>
	</p>
	<p class="MsoNormal">
	  <input value=" Envoyer " type="submit">
	  <input value=" Annuler " type="reset">
	</p>
	</form>

Qui appel la page "traitement.php " qui verifi les champs et envoie:
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Le message a bien ete envoyer. Merci.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','email@live.fr'); // remplacer par ton email
define('MAIL_SUJET','Message de mon site truk machin bidul !!); //a changer par s'que tu veu !

// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom ?<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse e-mail?<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";

// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

echo $message;

// sinon c'est ok
} else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $nom\n";
$mail_corps .= "Message: $sqlinterets\n\n\n";
$mail_corps .= "commentaire-question :\n $comments ";

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
?>
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
29 décembre 2009

slt cher ami

cela tou t depend du paramtre de ta boite mail si tu live .fr ta winsdows live en boite mail par defaut
vois ta configuration qui est par defaut et tu peut changer pour mettre celle sue tu veut
Messages postés
865
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
20 décembre 2012
184
Salut ,

tu peux utiliser un langage web dynamique tel que le PHP , tu devras utiliser la fonction mail() , c'est très simple et il y a plusieurs exemple sur le web .
Messages postés
6418
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 859
je t' ai envoyé un mp
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
21
si tu utlise la fonction mailto tu passeras forcement par outlook (alors gare à ceux qui ne l'ont pas)
Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
4 269
Si ils n'ont pas Outlook ça sera le client mail par défaut.
Donc Windows Mail.
Ou si un autre (Thunderbird, ...) est installé est configuré par défaut, alors ça sera celui-la.
Mais comme les webmails (Gmail, Hotmail, Yahoo! Mail, ...) sont de plus en plus répendu, moins d'internaute configurent leur client mail.
Messages postés
152
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
9 mars 2014
9
merci de votre aide j'ai pas encore resolu la chose mais j'ai de bonnes infos là, je vous tiens au courant messieurs, merci!
Messages postés
152
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
9 mars 2014
9
franchement igrecque t'as tout dechiré ton code est pile ce dont j'avais besoin fonctionnel et simple a la fois ca dechire merci grave !!!!!!!!!!
Messages postés
1952
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 juillet 2011
208
Je ne sais pas où igrecque a été pomper ce formulaire, mais le code est une horreur. Les classe "MsoNormal" sortent tout droit d'un truc micro$oft (genre word), il est non conforme, et non accessible.

Celui d'Avion est 100 fois mieux !
Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
4 269 >
Messages postés
1952
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 juillet 2011

Le truc qui tue tout c'est qu'il y a des classes mais pas le CSS associé.
Messages postés
3
Date d'inscription
vendredi 11 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2009
1
Et merde j'ai oublier de virer quelque morceaux de code !!
notobe, le scripte vien d'ici et pour mémoire "MsoNormal" tu pourais marqué "magrandmere" a partir du moment que t'as les bon attribut dans ton css !!!!! Donc ya pas de il est non conforme, et non accessible. !
avion-f16, je n'est pas mis le css parce que j'en avais pas envie et c'est pas ça qui ne fera pas fonctionner le script !!!! Si il a besoin d'un coup de main en css allor il a qua le demander !!!!

/!\ Montrez nous ce que vous avez de mieux /!\ !!!
Messages postés
1952
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 juillet 2011
208
Non conforme car mélangeant des règles xhtml et html.
Non accessible car n'utilisant pas de label avec des for pointant vers des id.
Et je ne parle pas des fautes d'orthographe.

Ce qu'il y a de mieux : ici

Et effectivement, pas la peine de t'énerver parce qu'on critique un truc qui n'est pas de toi...
Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
4 269
Du calme !!
Et pour éviter de te faire pigeonner par des espaces, fais un trim sur les variables avant de vérifie si elles sont vides.
Si tu ne veux pas les faire une par une :
$_POST = array_map('trim',$_POST);
Messages postés
152
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
9 mars 2014
9
hum ok c'est une engueulade ou koi?

bon moi je vais passer pour un ignorant peut etre mais: pourkoi non accessible? ca veut dire koi? et pkoi non conforme? moi je sais pas mais en tout cas j'avais envie de mettre un formulaire avec des champs et pouvoir les recuperer sur mon mail et ben là ca fonctionne en mettant le code de igrecque... alors c'est quoi le souci en fait?
En fait si tu te serre du css (dans le formulaire html) allor remplasse
<p class="msonormal">
par tes propre class que tu aura
configurer dans ton css ( pour le style )
sinon si tu te serre pas du css vire tout les
<p class="msonormal">
Messages postés
1952
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 juillet 2011
208
La conformité
La conformité dépend du doctype que tu as choisi.
Si tu as choisi de coder en xhtml 1.0 tu dois respecter un certain nombre de règles qui ne sont pas obligatoires, ou qui sont contradictoires, avec celles du html 4.01.
En xhtml 1.0, toutes les balises doivent être fermées (même les non fermantes, type br, hr, img, input...) et les attributs doivent être entre guillemets (entre autre).
En html 4.01 les non fermantes doivent rester en l'état, et les guillemets ne sont pas obligatoires (même si c'est mieux de le faire dans tous les cas)

Si je reprends le code proposé par igrecque, ceci, c'est du html 4.01
<input type=hidden name=subject value=formmail>

(input non fermé, attributs sans guillemets)

Par contre <br /> c'est de l'écriture de xhtml 1.0.
Donc ce code mélange les 2, faut choisir...

L'accessibilité
Réaliser un formulaire accessible, ce n'est pas bien compliqué, il suffit d'utiliser les éléments prévus pour ça (sinon, ça sert à quoi que le w3c se décarcasse).
Les étiquettes des champs de formulaire sont à renseigner grâce à un <label> dans lequel tu renseignes en cible (par un for) le champ associé (par un id).

Exemple :
<label for="nom">Nom :</label>
<input type="text" id="nom" />


Lorsque l'utilisateur va sur ce type de formulaire, il a tout l'espace créé par le label + le champ pour cliquer et avoir le focus du champ.
C'est particulièrement pratique lorsque tu as des cases radio : au lieu d'avoir quelques pixels pour pointer ta souris dans la petite case radio, tu peux aussi cliquer sur le label et cela activera la case radio.
Si tu n'utilises pas de label, prie pour ne pas être atteint de parkinson ;) car le clic au bon endroit sera beaucoup plus difficile !
C'est évidemment aussi particulièrement utile pour les mal-voyants qui utilisent des synthèses vocales, car le lecteur d'écran comprendra mieux le formulaire et donc son utilisation.
C'est de la sémantique, ce sont des bonnes pratiques, c'est ce qu'on fait quand on a le souci et le respect de l'internaute qui vient visiter et utiliser son site.
(ce qui ne veut pas forcément dire que tous les webmestres qui ne font pas ça se moquent du monde, c'est, le plus souvent, simplement de la méconnaissance)

En plus, ça ne coûte pas cher, ça ne mange pas de pain, c'est facile à mettre en œuvre (en tout cas pas plus compliqué que de faire un <b>Nom</b> !)

Les class="MsoNormal" n'ont donc rien à voir dans tout cela, c'est juste caractéristique d'un code généré par word, qui est tout sauf un éditeur html... et qui sont donc là comme des cheveux sur la soupe. D'autant que, comme le faisait remarquer avion, ces classes n'étaient associées à aucune feuille de style, ce qui rajoute à leur inutilité et au cocasse du code.
Mais vu le reste, c'est de l'ordre du détail.
Messages postés
18515
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
4 269 >
Messages postés
1952
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 juillet 2011

Voilà une bonne explication !
Pour rendre le formulaire plus accessible, on peut aussi utiliser les tabindex ainsi que le acceskey.