Envoi automatique d'un mail.

Eléphant du PHP | 70 Messages

10 mars 2009, 16:19

Bonjour a tous, :wink:

Mon problème est le suivant : :x

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

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 :D .

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 :afraid:

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

PS: je débute en php 8-|
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Mammouth du PHP | 2937 Messages

10 mars 2009, 16:25

Documente-toi sur la fonction mail()... :-*

Eléphant du PHP | 70 Messages

10 mars 2009, 16:33

Merci Victor BRITO de me repondre, j'avais déjà vu la doc sur la fonction mail(), mais mon problème est que je ne vois pas comment l'adaptée a mon appli

voici mon submit

Code : Tout sélectionner

<td style="text-align: right; width: 50%;"><center><input name="enregistrer" type="submit" value="Valider"/></center></td>
et voici son action

Code : Tout sélectionner

<form name="form" method="post" action="EnregistrementIncidentManager.php" onsubmit="return Valider();">
La fonction mail() devra donc ce trouver dans mon EnregistrementIncidentManager.php nn?

ps: mon EnregistrementIncidentManager.php me permet de faire enregistrment de l'incident dans ma base

voici le bout de code que je viens d'écrire dans mon EnregistrementIncidentManager.php
/*=========================================================================
									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);
			echo $to;
			//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);
il me sort le message d'erreur suivant :

Code : Tout sélectionner

Warning: mail() expects parameter 1 to be string, array given in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 77
la ligne 77 correspondant au
mail($to,$subject,$message);
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 145 Messages

10 mars 2009, 16:54

Salut,

En effet, si tu récupère les informations pour l'enregistrement dans la BDD, tu peux aussi t'en servir pour inclure ta fonction mail().
mail($destinataire, $objet, $message);
edit :

Tu viens de rajouter un morceau de code à ton message alors je vais faire de même

Essaye avec ceci : mail($to['Mail'], ...)
en effet, $to sans rien te renvois un array je crois :)
alors essaye en mettant $to['Mail'] :)

Albat90 ;)
La culture, c'est comme la confiture, moins on en a, plus on l'étale.

Eléphant du PHP | 70 Messages

10 mars 2009, 17:03

Merci Albat90 de me porter de l'interet toi oci,

je viens d'essayer en remplcant mon mail($to, $subject, $message); par ton mail($to['Mail'], $subject, $message);
et voici le resultat retourner

Code : Tout sélectionner

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 77
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Eléphant du PHP | 145 Messages

10 mars 2009, 17:16

re,

ajoute ça en début de code:
ini_set('sendmail_from', '[email protected]');

Ou alors tu paramètres le champ FROM dans le header de ton mail.

Albat90 ;)
La culture, c'est comme la confiture, moins on en a, plus on l'étale.

Mammouth du PHP | 2937 Messages

10 mars 2009, 17:17

Essaie d'ajouter un quatrième paramètre à la fonction mail(), comme suit :
mail($to['Mail'], $subject, $message, 'From: [email protected]');
Albat90 m'a un peu grillé la politesse :P

Eléphant du PHP | 70 Messages

10 mars 2009, 17:20

je présume que le 'From: [email protected]' de Victor BRITO, est équivalent au ini_set('sendmail_from', '[email protected]');
de Albat90 nn?

enfete il faudrait que je rajoute une sorte de lien vers mon serveur si je comprend bien?

et donc si je ajoute 'From: [email protected]' pour reprendre la solution a Victor BRITO c'est bon?
Modifié en dernier par Arkonara le 10 mars 2009, 17:29, modifié 1 fois.
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

Mammouth du PHP | 2937 Messages

10 mars 2009, 17:26

enfete il faudrait que je rajoute une sorte de lien vers mon serveur si je comprend bien?
Pas besoin de lien. Ajoute une en-tête From indiquant l'adresse électronique de provenance du courriel.
enfete
Tu pourrais soigner ton orthographe, soit dit en passant... :roll:

Eléphant du PHP | 70 Messages

10 mars 2009, 17:43

Bonjour a tous, donc suite a notre concversation de hier, voici ce que j'ai fait
                                                                                                                                        ========================================================================
									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);
			echo $to;
			//le sujet
			$subject="Incident !!";
			//le message
			$message="Un nouvel incident viens d'être enregistré. MERCI";
			//envoi du mail
			mail($to,$subject,$message, 'From: [email protected]');
mais rien ne ce passe. il me retourne

Code : Tout sélectionner

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in c:\wamp\www\incidents_editiques\enregistrement\enregistrementincidentmanager.php on line 77
la ligne 77 correspondant a:

Code : Tout sélectionner

mail($to,$subject,$message, 'From: [email protected]');
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!