[RESOLU] Envoi de mail, erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Envoi de mail, erreur

Re: Envoi de mail, erreur

par lucieemtl » 26 avr. 2017, 09:57

Ok merci je le saurais :)
Le problème est résolu, mon code fonctionnait bien en effet, mais c'était le soucis d'être en local. Étant donné que j'avais repris une ancienne version de mon portfolio, j'ai juste eu à le mettre en ligne pour que ça re-fonctionne correctement :)

Re: Envoi de mail, erreur

par @rthur » 25 avr. 2017, 21:03

Et il faut redémarrer Apache pour que tes modifs soient prises en compte

Re: Envoi de mail, erreur

par lucieemtl » 25 avr. 2017, 17:06

Ah donc il y'a moyen de tester la fonction mail en local ? :o
Je croyais cela impossible..
Merci à vous deux, je vais voir ce que je peux faire.

Re: Envoi de mail, erreur

par @rthur » 25 avr. 2017, 16:52

Si tu es sous Windows, le + simple c'est d'ouvrir le fichier php.ini, trouver la ligne "sendmail_from" et indiquer le SMTP de ton fournisseur d'accès.
Voici leurs noms pour les 4 principaux FAI français :
smtp.free.fr
smtp.orange.fr
smtp.sfr.fr
smtp.bbox.fr

Re: Envoi de mail, erreur

par moogli » 25 avr. 2017, 16:37

salut,

Le problème ne vient pas de ton code php mais de la configuration de php. Il te faut un serveur email de configuré pour utiliser la fonction mail.

tu peux par exemple utiliser mailcatcher

tu as un exemple de conf pour windows ici
http://epicadesign.fr/mailcatcher-envoy ... -en-local/
version unix : https://blog.netapsys.fr/mailcatcher-un ... veloppeur/

Mailcathcer va créer une serveur smtp sur ta machine et tu pourras vérifier la réception des email dans ton navigateur. L'avantage c'est que ça reste en local tu t'emmerde pas avec des serveurs externe et tu ne pollue pas de boite mail pour tester ton dev ;)

@+

Envoi de mail, erreur

par lucieemtl » 25 avr. 2017, 15:23

Bonjour à toutes et à tous,

J'essai désespérément d'envoyer un mail depuis mon portfolio (oui en local), avec mon formulaire de contact, et j'obtiens l'erreur suivante :

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in

Voici le code concerné :
<?php
if((isset($_POST['name']) && !empty($_POST['name'])) && (isset($_POST['fname']) && !empty($_POST['fname'])) && (isset($_POST['email']) && !empty($_POST['email'])) && isset($_POST['phone']) && isset($_POST['society']) && (isset($_POST['objet']) && !empty($_POST['objet'])) && (isset($_POST['message']) && !empty($_POST['message'])))
{
	$nom = $_POST['name'];
	$firstname = $_POST['fname'];
	$email = $_POST['email'];
	$phone = $_POST['phone'];
	$society = $_POST['society'];
	$objet = $_POST['objet'];
	$messageClient = $_POST['message'];
	$destinataire = "[email protected]";
	
	if(filter_var($email, FILTER_VALIDATE_EMAIL))
	{	
		$to      = $destinataire;
		$subject = $objet;
		$msg 	 = $messageClient;
		$headers = 'De: '.$nom.' '.$firstname. '\r\n' .
		   'Reply-To: '.$nom.' '.$firstname;
		if(mail($to,$subject,$msg,$headers))
		{
			echo 	"<div class=\"card card-success\">
					<div class=\"card-header\">
						<div class=\"header-block\">
							<p class=\"good title\">Email envoyé avec succès.</p>
						</div>
					</div>
				</div>";
		}
		else
		{
			echo 	"<div class=\"card card-warning\">
						<div class=\"card-header\">
							<div class=\"header-block\">
								<p class=\"title\"><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i> Email non envoyé : erreur inconnue, veuillez réessayer.</p>
							</div>
						</div>
					</div>";
		}
	}
	else
	{
		echo 	"<div class=\"card card-warning\">
					<div class=\"card-header\">
						<div class=\"header-block\">
							<p class=\"title\"><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i> Email non envoyé : veuillez saisir une adresse email avec un format adapté.</p>
						</div>
					</div>
				</div>";
	}
}
else 
{
	echo 	"<div class=\"card card-warning\">
				<div class=\"card-header\">
					<div class=\"header-block\">
						<p class=\"title\"><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i> Email non envoyé : certains champs obligatoires sont manquants.</p>
					</div>
				</div>
			</div>";
}
?>
C'est parce que je suis en local que ça ne fonctionne pas ?

J'ai également l'erreur : Email non envoyé : erreur inconnue, veuillez réessayer.

Quelqu'un peut-il m'aider s'il vous plaît ?