Bonjour à tou(te)s,
Je ne comprends pas comment envoyer mon mail, depuis mon site hébergé sur mon pc avec Wamp, SANS utiliser de client de messagerie.
J'ai d'ailleurs plus de cheveux à force de me les arracher à visiter les forums qui se contredisent tous les uns des autres Smiley bawling

Mon fichier php.ini (Wamp) est:
smtp_port = 25 ; (j'ai aussi essayer avec 589)
SMTP = smtp.gmail.com
sendmail_from = toto@gmail.com ;

Pour envoyer un mail, il me semble que je dois fournir au seveur SMTP, une authentification.
Dans quel fichier dois-je la mettre ???
Est-ce que je fais une erreur ???

De plus, je crois qu'il y a une autre erreur, car je ne récupère pas la totalité des champs saisies par l'envoyeur (après avoir utiliser la fonction "mailto" dans le fichier HTML qui ouvre mon client de messagerie, ce que je ne veux pas).

Mil merci pour votre aide Smiley cligne

Voici mes codes:
Html

<div id="container">

<form action="Contact.php" method="post" enctype="text/plain">
<table style="text-align: left; width: 800px; height: 20px;">
	<tr>
		<td style="vertical-align: top;"><br>&nbsp;&nbsp; Civilité : &nbsp; &nbsp; &nbsp; &nbsp;<select name="select">
			<option>Monsieur</option>
			<option>Madame</option>
			<option>Melle</option>
				</select>
		</td>
	</tr> 
</table>

<table style="text-align: left; width: 800px; height: 129px;">
 	<tr>
		<td style="vertical-align: top;"><br>
			<label for="nom">Nom :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
				<input id="nom" type="text">
		</td>
		<td colspan="1" rowspan="5" style="vertical-align: top;"><br><label for="message">Message :&nbsp;&nbsp;</label> 
			<textarea id="message"></textarea>
		</td>
    </tr>
	
	<tr>
		<td style="vertical-align: top;"><br><label for="tel">Téléphone :&nbsp;&nbsp;</label>
			<input id="tel" type="text">
		</td>
    </tr>
    
	<tr>
		<td style="vertical-align: top;"><br><label for="courriel">Email :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
			<input id="courriel" type="email">
		</td>
    </tr>
</table>
  <br>

  <div class="button">
    <button type="submit">Envoyer</button>
  </div>
  
  </form>
<br>
</div>

CSS:

html {
  margin:0;
  padding:0;
  background: url(Images/Background_1.jpg) no-repeat center fixed; 
  -webkit-background-size: cover;
  background-size: cover; 
}

#texte_1
{
text-align: center;
color:#fff;
font-size:30px;
}

#container
{
  background-color: green;
  width: 850px;
  margin: 0 auto;
  }

PHP:

<?php
$TO = "titi@gmail.com";

$h = "From: toto@gmail.com" . $TO;

$subject = "Demande d'infos";

while (list($key, $val) = each($HTTP_POST_VARS))
{
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

?>

Modifié par valttt (18 Apr 2016 - 12:03)
Salut,

Il faut que tu installes un sendmail en local.
Je te laisse regarder ce fil de discussion au cours duquel nous avions paramétré ce sendmail (non sans mal Smiley cligne ) chez l'ami abeille.
Alors j'obtiens plusieurs erreurs:

1) Blocage de l'accès à mon compte de messagerie par google (impossible d'autoriser l’accès depuis mon site).
2) Dans la page suite à l'envoi :
upload/43715-Sanstitre1.jpg

PS: J'ai configuré comme indiqué le fichier php.ini de wamp et le fichier sendmail.ini.

Je suis vraiment largé, ça parait pourtant si simple (par rapport à l'envoi, mais pas par rapport aux erreur du fichier Contact.php !).
Modifié par valttt (18 Apr 2016 - 15:59)
Oulala, ça va devenir un défi d'expliquer cette histoire, je crois qu'il va falloir refaire un tuto dédié à cette partie.

Peux-tu coller ici le contenu de sendmail.ini ? (attention, remplace bien ton mot de passe par des astérisques...)

Utilises-tu un client mail sur ton ordi ? Si oui, as-tu paramétré un SMTP ? Si oui, il faut indiquer les mêmes infos !

Cependant, tu as une erreur dans ton log de sendmail, donc déjà c'est pas mal, ça veut dire que la fonction mail() passe bien par sendmail.

Sinon, la variable $HTTP_POST_VARS est dépréciée et tu vas me la remplacer vite fait par $_POST !

Dans l'absolu, ta boucle while est trop compliquée avec list().
Ta variable $message n'est pas initialisée et tu veux ajouter des trucs dedans, ça peut pas marcher...
Tu pourrais simplement faire un foreach() :
$message = '';
foreach ($_POST as $key => $value) {
  $message .= $key . ' : ' . $val . "\n";
}
Pour info, oui j'utilise un client de messagerie mais étant à l’étranger en ce moment, je ne passer que par les sites web pour accéder à mes comptes afin de pouvoir envoyer des messages.
Je crois que maintenant c'est google qui bloque tout.
Mais j'ai aussi toujours cette l'erreur suite à l'envoi du mail.

Error.log:
16/04/18 16:05:14 : <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtX<EOL>qjbJok-iN-tWxFeWMhodeXLEVOMStM_-T9Gs308MRreE7gT8L-F68Mpnqr5voVwiebrFbb<EOL>2h_CgAHBjRh6u9KYmUC6IvXKJ4mNe9GqoGQj17YHJm4K50phOazsQZqCYq1VynxpjlC2r6<EOL>HJ79yKHTfJKQTnuSAS9e6lvA2D5fNCLhsmV9xUqC2K7lXl-XfJ4m_LVdmV_gyTnLhaGLW3<EOL>QJQ2WIlJXrLgZaGmUMtCacPH_rY58> Please log in via your web browser and<EOL>then try again.<EOL> Learn more at<EOL> https://support.google.com/mail/answer/78754 w186sm26821825wmd.20 - gsmtp<EOL>

Smiley sendmail

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=587

; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

;default_domain=gmail.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=toto@gmail.com
auth_password=*******

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines. do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

force_sender=toto@gmail.com

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required

hostname=
Modifié par valttt (18 Apr 2016 - 16:11)
En effet ta config paraît correcte puisque tu as une réponse de gmail, c'est bon signe et il faut chercher du côté de celui-ci.

Il faut sans doute que tu te connectes à ton webmail gmail d'abord. Et ensuite tu retestes.
Je suis connecté à ma messagerie depuis le site de google avant de faire les tests.
Apparemment, plus d'erreur d'envoi avec le port 465, mais je ne reçois toujours pas de mail Smiley bawling

J'ai en retour suite à l'envoi, une page web blanche.
Et la non réception des mails.....lol

<?php
$TO = "titi@gmail.com";

$h = "From: toto@gmail.com" . $TO;

$subject = "Demande d'infos depuis SOS Info";

while (list($key, $val) = foreach($_POST as $key => $value))
{
$message .= $key . ':' . $val . "\n";
}


?>
Modifié par valttt (19 Apr 2016 - 10:16)
Plus d'erreur dans le log ?
Je pense en effet que c'est bien le port 465 à utiliser.
Tu peux en être certain en faisant un
telnet smtp.gmail.com 465

dans un terminal.
Tu as bien commenté toutes les autres lignes de ton php.ini concernant le mail() à l'exception de sendmail_path.

Peux-tu pour tester réduire au minimum ton appel à mail(), genre :
<?php
mail('destinataire@gmail.com', 'Sujet', 'Message test');

Tu enregistres ce code seul dans un fichier que tu appelles.

EDIT : entre temps tu as complété ta réponse et ça viens de là : ton code est juste pas bon du tout. Je t'ai parlé de la boucle foreach A LA PLACE de while, c'est une boucle :
<?php
$to = "sosinfo45110@gmail.com";

$headers = 'From: webmaster@example.com' . "\r\n" .
     'Reply-To: webmaster@example.com' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

$subject = "Demande d'infos depuis SOS Info";

$message = '';
foreach($_POST as $key => $value))
{
$message .= $key . ':' . $value . "\n";
}

mail($to, $subject, $message, $headers);

?> 

Il faut lire la doc avec précision dès que tu utilises une fonction que tu ne maîtrises pas.
Modifié par MatthieuR (18 Apr 2016 - 16:52)
En faisant ça, ça renvoi un nombre impressionnant d'erreur.

Pour l'instant, je n'ai plus aucune erreur (ni sur error.log de Sendmail, ni sur la page retour suite à l'envoi (retour d'une page blanche), mais aucun mail n'arrive à destination.
La commande "telnet" n'est pas reconnu depuis cmd.

Je vais arrêter là pour ce soir car ça commence à me gonfler sérieux. Je ferai d'autres test demain.
Merci encore pour ton aide Smiley cligne Smiley biggrin
Re-bonjour,

Bon, j'ai refais toute mon installation (Wamp, sendmail), j'ai refais mes paramétrages de fichiers php.ini, sendmail.ini, etc...

Je ne reçois toujours pas de message sur ma messagerie gmail.
Mes paramètres gmail:
smtp: smtp.gmail.com
port: essais avec 465 et 587

Paramètre "Autoriser les applications moins sécurisées" est activé !

Si vous avez une idée ???
Modifié par valttt (21 Apr 2016 - 00:04)
Je clos le sujet car plus de réponse...
Je change de système....
Merci aux personnes qui m’ont répondu...
Ah mince, j'avais zappé ton sujet.
As-tu trouvé une solution ou pas ?
On peut retenter des tests si tu veux.
Gmail à l'air problématique dans ce genre de cas, tu peux essayer avec le smtp de ton fournisseur d'accès par le port 25.
Ça serait quand même bien que tu installes un truc qui fonctionne...
Merci MatthieuR,
J'ai abandonné la solution Wamp / Sendmail, car j'ai pas arrêter de faire des essais depuis la dernière fois et rien n'y a fait.
J'ai mis un autre post "Formulaire" sur le forum, car quand j'utilise ton script d'essais, cela fonctionne mais pas avec les miens...
Merci encore pour ton aide Smiley cligne