Page 1 sur 1

PhP et envoi simple

Posté : 12 avr. 2013, 22:20
par debutant10
Bonjour voici ma recherche :

Envoyer simplement un email je suis en localhost :

message d 'erreur :

Fatal error : temps d'exécution maximum de 60 secondes dépassé dans C: \ wamp \ www \ mail9-phpmailer \ \ phpmailer class.phpmailer.php sur la ligne 13
<?php
/*
envoie d'email par authentification smtp avec la lib phpmail
*/

require_once 'class.phpmailer.php'; //le fichier class.phpmailer.php est dans le même répertoire que le script courant

$mail = new PHPMailer();
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
$mail->SMTPDebug = 2;

$body             = "<p> corps du mail.ceci est un texte bidon.............</p>";
 
$mail->IsSMTP();
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port
 
$mail->Username   = "[email protected]";  // ton compte gmail
$mail->Password   = "tonMotDePasse";        // ton mot de passe gmail
 
$mail->From       = "[email protected]";//"[email protected]";
$mail->FromName   = "yann";
$mail->Subject    = "Titre de ton message";
//$mail->AltBody    = "This is the body when user views in plain text format"; //Text Body
$mail->WordWrap   = 50; // set word wrap
 
$mail->MsgHTML($body);
 
$mail->AddReplyTo("[email protected]","Toto titi");
 

 
$mail->AddAddress("[email protected]","miss"); //!!!!adresse mail du destinataire
 
$mail->IsHTML(true); // send as HTML
 
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message envoyé avec succès";
}
 





?>

 

Re: PhP et envoi simple

Posté : 18 avr. 2013, 22:45
par debutant10
Bonjour,

qq à t il un exemple de code simple et basique afin que je puisse tester la fonctionnalité d envoi s un email car j ai testé

en local :

Code : Tout sélectionner

Ce scénario Envoie un mail à zizou.up @ gmail.com Warning : mail () [ function.mail ]: Echec de connexion au serveur de messagerie à "localhost" port 25, vérifier votre "SMTP" et le réglage "smtp_port" dans le fichier php.ini ou l'utilisation ini_set () dans C: \ wamp \ www \ mail10-simples \ test-03_simple.php sur la ligne 4

et sur le site sfr voi le message :

Ce script envoie un mail à [email protected]

Code : Tout sélectionner

<?php $destinataire = "[email protected]"; echo "Ce script envoie un mail à $destinataire"; mail($destinataire, "test email 1", "merci pour ton tutorial"); ?>
mais quand je consulte les mails aucun n envoi ??

merci de votre aide svp

Re: PhP et envoi simple

Posté : 18 avr. 2013, 23:17
par moogli
Salut,


j'ai testé ton 1er script il est parfaitement opérationel, avec cette classe https://github.com/Synchro/PHPMailer

si tu as un time out c'est que le script n'arrive pas a faire quelque chose, comme par exemple atteindre le serveur mail ?
as tu un firewall ou un antivirus qui pourrais bloquer le port 465 en sortant ?

quand a la seconde erreur cela ne peux fonctionner sans installer un serveur smtp sur ta machine et le configurer de façon a ce que php puisse l'utiliser (plus d'info dans la doc php).


@+

Re: PhP et envoi simple

Posté : 18 avr. 2013, 23:37
par yann18

Code : Tout sélectionner

Ce scénario Envoie un mail à zizou.up @ gmail.com Warning : mail () [ function.mail ]: Echec de connexion au serveur de messagerie à "localhost" port 25, vérifier votre "SMTP" et le réglage "smtp_port" dans le fichier php.ini ou l'utilisation ini_set () dans C: \ wamp \ www \ mail10-simples \ test-03_simple.php sur la ligne 4

et sur le site sfr voi le message :

Ce script envoie un mail à [email protected]
<?php
$destinataire = "[email protected]";
echo "Ce script envoie un mail à $destinataire";
mail($destinataire, "test email 1", "merci pour ton tutorial");

?>
mais quand je consulte les mails aucun n envoi ??

merci de votre aide svp
ce script marcherait si t'avais un serveur smtp déjà configuré ou si tu avais un hébergement web disposant déjà d'un serveur smtp. Dans ton cas en local il est plus simple d'utiliser une lib comme phpmailer ou zend mail.Tu as intérêt à revoir tout ce qui protocole smtp, pop serveur de méssagerie(toutes ces notions sont abordés en cours de réseaux).

je te propose tout le script + lib phpmailer incluse où tu n'auras rien à modifier sinon qu'à ajouter l'expéditeur et le destinataire du mail. tu as la possibilité de le télécharger:

-en récupérant l'archive à l'adresse :mail

tu le désarchives et tu place tous les fichiers sur ton serveur en local.puis tu ouvres le fichier index.php où tu n'aura qu'à modifier l'expéditeur et le destinataire.

Re: PhP et envoi simple

Posté : 18 avr. 2013, 23:43
par AB
Oui ou si ton FAI est sfr, pour un envoi en localhost avec la fonction mail il faudrait configurer ton fichier php.ini avec la ligne :

Code : Tout sélectionner

SMTP = smtp.sfr.fr

Re: PhP et envoi simple

Posté : 19 avr. 2013, 23:22
par debutant10
Merci j 'ai fais exactement ce que tu m a dit :
mais voici le message
[php]Mailer Erreur: ce qui suit de l'adresse échoué: zizou.up @ gmail.com: Mail appelé () sans être connecté
[/php]

Re: PhP et envoi simple

Posté : 22 avr. 2013, 19:43
par yann18
Merci j 'ai fais exactement ce que tu m a dit :
mais voici le message
[php]Mailer Erreur: ce qui suit de l'adresse échoué: zizou.up @ gmail.com: Mail appelé () sans être connecté
[/php]
certainement tu ne renseignes pas ton mot de passe gmail.

Re: PhP et envoi simple

Posté : 23 avr. 2013, 22:01
par debutant10
Bonjour sur mon server free sa fonctionne mais depuis mon localhost SA MARCHE PAS :shock: :shock:


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\mail11-zendmail-free-localhost\test_mail.php on line 80
La fonction mail() est désactivée!
ou dois je faire la modif dans mon code svp ?
<html>
<head>
<title>Script pour tester la fonction mail()</title>
<style type="text/css">
font,th,td,p { font-family: Verdana, Arial, Helvetica, sans-serif }
.bodyline	{ background-color: #FFFFFF; border: 1px #98AAB1 solid; }
.forumline	{ background-color: #FFFFFF; border: 2px #006699 solid; }
td.row1	{ background-color: #EFEFEF; }
th	{
	color: #FFA34F; font-size: 11px; font-weight : bold;
	background-color: #006699; height: 25px;
}
th.thHead { font-size: 12px; border-width: 1px 1px 0px 1px; }
.maintitle	{
	font-weight: bold; font-size: 22px; font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
	text-decoration: none; line-height : 120%; color : #000000;
}
.gen { font-size : 12px; color : #000000; }
.copyright		{ font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #444444; letter-spacing: -1px;}
a.copyright		{ color: #444444; text-decoration: none;}
a.copyright:hover { color: #000000; text-decoration: underline;}
input,textarea, select {
	color : #000000;
	font: normal 11px Verdana, Arial, Helvetica, sans-serif;
	border-color : #000000;
}
input.post, textarea.post, select {
	background-color : #FFFFFF;
}
input { text-indent : 2px; }
</style>
</head>
<body bgcolor="#e5e5e5" link="#006699" text="#000000" vlink="#5493b4">
<table align="center" border="0" cellpadding="10" cellspacing="0" width="100%">
	<tbody>
		<tr>
			<td class="bodyline">
      			<table border="0" cellpadding="0" cellspacing="0" width="100%">
        			<tbody>
        				<tr>
          					<td align="center" valign="middle" width="100%"><span class="maintitle"><span class="maintitle">Script pour tester la fonction mail()</span></span></td>
        				</tr>
        			</tbody>
      			</table>
				<br />
				<form action="test_mail.php" method="post" target="_top">
					<table class="forumline" align="center" border="0" cellpadding="4" cellspacing="1" width="100%">
  						<tbody>
							<tr>
								<th class="thHead" height="25" nowrap>Voici un script qui permet de tester la fonction mail() de votre hebergeur. Si elle n'est pas activ&eacute;e, une erreur appara&icirc;tra.<br /> Indiquez votre adresse email dans le champ ci-dessous puis cliquez sur Envoyer l'email. Un email sera envoy&eacute; &agrave; l'adresse indiqu&eacute;e.</th>
  							</tr>
  							<tr>
								<td class="row1">
              						<table border="0" cellpadding="3" cellspacing="1" width="100%">
                						<tbody>
                							<tr>
                  								<td colspan="2" align="center">&nbsp;</td>
                							</tr>
                							<tr>
                  								<td align="right" width="45%"><span class="gen">Votre adresse email:</span></td>
                  								<td><input type="text" name="destinataire"></td>
                							</tr>
                							<tr align="center">
                  								<td colspan="2"> <input type="submit" value="Envoyer l'email" name="submit" /></td>
                							</tr>
                						</tbody>
              						</table>
            					</td>
  							</tr>
						</tbody>
					</table>
				</form>
<?php
if(isset($_POST['destinataire']))
{
$destinataire = $_POST['destinataire'];
$sujet = "Test de la fonction mail() de PHP";
$message = "Félicitations, la fonction mail() de votre hebergeur fonctionne!";

$envoi = mail($destinataire, $sujet, $message);

	if($envoi == true)
	{
	echo "<font color='green'><b>L'email a été envoyé avec succès.<br /><br />La fonction mail est bien activé.<br />Un email vous a été envoyé à l'adresse que vous avez indiqué.</b></font><br />";
	}
	else
	{
	echo "<font color='red'><b>La fonction mail() est d&eacute;sactiv&eacute;e!</b></font><br />";
	}
}

?>
				<br />
				<div align="center" class="copyright">Script pour tester la fonction mail()<br />Copyright &copy; <a href="http://www.phpbb-fr.com/">phpBB-fr.com</a></div>
			</td>
		</tr>
	</tbody>
</table>
</body>
</html>