Envoi automatique d'un mail

[Résolu/Fermé]
Signaler
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012
-
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
-
Bonjour a tous, deja je vous avertis que je débute en php...

Voici mon problème:

J'ai créer une application pour la gestion des incidents au sein d'un service d'une entreprise .

J'ai donc un formulaire d'enregistrement d'un incident qui, lorsque je click sur le submit m'enregistre l'incident dans ma base, jusque la tout va bien .

Mais il me manque un truc , je m'explique

Ce qu'il me manque serait que lorsqu'un incident est enregistrer suite a l'appui sur le bouton submit, il faudrait que j'arrive a gérer l'envoi automatique de maïl

quelqu'un serait-il en mesure de me venir en aide afin de rendre possible l'envoi des mails s'il vous plait

Voici le bout de code qu j'ai réaliser pour le moment en m'appuyant sur la doc de la fonction mail:

/*=========================================================================
Envoi du Mail
=========================================================================*/
//les destinataires
$query="SELECT Mail FROM employer WHERE level_employe='2'";
$res= mysql_query($query) or die(mysql_error());
$to=mysql_fetch_array($res);
//le sujet
$subject="Incident !!";
//le message
$message="Un nouvel incident viens d'être enregistré, veuillez-vous connecter dans les plus brefs délais afin de le résoudre. MERCI";
//envoi du mail
mail($to,$subject,$message, 'From: 000.00.000.00@maif.com');
/*=========================================================================
=========================================================================*/

Mais malheureusement, voici le message que cela me renvoi:

/*=========================================================================
Message d'erreur
=========================================================================*/
Warning: mail() expects parameter 1 to be string, array given in c:wampwwwincidents_editiquesenregistrementenregistrementincidentmanager.php on line 77
/*=========================================================================
=========================================================================*/

La ligne 77 correspondant a :
/*=========================================================================
=========================================================================*/
mail($to,$subject,$message, 'From: 000.00.000.00@maif.com');
/*=========================================================================
=========================================================================*/

Merci !!

16 réponses

Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
//les destinataires
$query="SELECT Mail FROM employer WHERE level_employe='2'";
$req= mysql_query($query) or die(mysql_error());
while($res=mysql_fetch_row($req))
{
$to=$res[0];
}
//le sujet
$subject="Incident !!";
//le message
$message="Un nouvel incident viens d'être enregistré, veuillez-vous connecter dans les plus brefs délais afin de le résoudre. MERCI";
//envoi du mail
mail($to,$subject,$message, 'From: 000.00.000.00@maif.com');


ça devrait aller mieux :)
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Merci de m'avoir repondu

il me renvoi cela:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 90
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
Avez-vous bien configurer votre smtp dans le fichier php.ini?

Le port étant par défaut le 25 (envoi de mail) ça ne devrait pas être un soucis
ça doit être quelque chose du genre : SMTP=smtp.tonserveur.com
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

C'est quoi smtp?
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
http://www.manuelphp.com/php/ini.smtp.php

C'est une partie de la configuration de l'envoi de mail dans le fichier php.ini
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Ok et donc comment je fait pour le configurer?
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
Vous travaillez avec quoi EasyPHP, NVU, autres?
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

je travaille avec wampserveur

ps: vous pouvez me tutoyer ^^
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
D'accord ^^

Alors vas voir ici :
https://www.wampserver.com/#q3
Tu y trouveras le fichier php.ini

Il faut ensuite que tu fasses une recherche dans le fichier de la ligne où se trouve "smtp=" et mettre ton smtp :)
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

j'ai sa

SMTP = localhost

tu me dit "et mettre ton smtp" mais c'est quoi MON smtp comment savoir
si je met adresse_ip_du_serveur@domaine.com c'est bon?

domaine étant maif
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
http://www.commentcamarche.net/faq/sujet 893 adresses des serveurs pop et smtp des principaux fai
Cherches ton fournisseur d'accès dans la liste et le smtp sera donné
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

le truc c'est que je suis a la maif et d'apres certains employer auquel je viens de poser la question, me dise que la maif est son propre hebergeur
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
smtp.maif.fr ou quelque chose comme ça, il faudrait demander aux administrateurs du domaine, le smtp qu'ils ont mis.
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

c'est smtp.maif
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
ben t'as plus qu'à modifier la ligne smtp = localhost par smtp = smtp.maif
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

bien j'ai deja fait ce changement et sa ne fonctionne toujour pas, j'utilise pas la version la plus récente de wamp, et sur cette version contrairement a ce que j'ai pu lire je n'ai trouver qu'un qeul fichier nommer php.ini c'est donc dans ce fichiers la que j'avais modifier le smtp=localhost par smtp=smtp.maif, mais sa n'a rien changer
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
le warning devrait être légèrement différent, pouvez-vous me le recopier, s'il vous plaît?
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Voici mon code

$to="christophe.mire@maif.fr";
$subject="Incident !!";
$message="Un nouvel incident vien d'être enregistré !!";
$headers ='From: êditique<editique@maif.fr>'."\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
if(mail($to, $subject, $message, $headers))
{
echo 'Le message a bien été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}

et voici le message d'erreur

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 111
Le message n'a pu être envoyé

et la ligne 11 correspond a:

if(mail($to, $subject, $message, $headers))
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
le changement que vous avez effectué sur le php.ini a échoué car sinon il y aurait écrit

Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.maif" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 111
Le message n'a pu être envoyé

Vérifier que votre fichier a bien été modifié, si il l'a été une autre procédure doit sûrement être mise en place pour prendre en compte le nouvel smtp
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Oui je l'ai bien modifer, je viens aussi de modifier le send_mail afin de le mettre en accord avec mon appli et le probleme reste le même
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
quelle version de Wamp utilises-tu?
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Wamp5 !!
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
As-tu redémarrer Wamp après avoir modifier le php.ini?
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Loooooooooooooooooooooooooool j'y avait pas penser quel C** !!

En effet sa change certaine choses, voici le nouveau message d'erreur

Warning: mail() [function.mail]: SMTP server response: 501 Syntax error, parameters in command "MAIL FROM:< êditique<editique@maif.fr>>" unrecognized or missing in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 111
Le message n'a pu être envoyé
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
Le from doit être structuré ainsi
From: "Nom de l'expéditeur" <adresse mail de l'expéditeur>

par exemple
'From: "NookZ"<nookz@ccm.fr>';
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Bon ici c'est l'heure de la pause donc je reviens tout de suite après. en tout cas MERCI !! je sens que je me rapproche de mon but d'envoi de mail
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

J'ai les modification que tu m'a dit dans le from
$headers ='From: "editique"<editique@maif.fr>'."\n";


et voici le message d'erreur:
Warning: mail() [function.mail]: SMTP server response: 501 Syntax error, parameters in command "MAIL FROM:< "editique"<editique@maif.fr>>" unrecognized or missing in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 111
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
vous devriez avoir quelque chose comme :
'From: "editique"<editique@maif.fr>';

Il y a des <> en trop apparemment chez vous
Messages postés
31
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
29 février 2012

Je vous remercis car tout fonctionne
voici le code qui fonctionne:

$to="christophe.mire@maif.fr";
$subject="Incident !!";
$message="Un nouvel incident vien d'être enregistré !!";
$headers .= 'From: editique@maif.fr' . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
if(mail($to, $subject, $message, $headers))
{
echo 'Le message a bien été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}

avec ceci dans mon php.ini

[mail function]
; For Win32 only.
SMTP = smtp.maif

; For Win32 only.
;sendmail_from = editique@maif.fr

encore merci !!
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
510
De rien, contente d'avoir pu être utile.