Newsletter : delai entre chaque mail

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 : Newsletter : delai entre chaque mail

Re: Newsletter : delai entre chaque mail

par @rthur » 22 janv. 2015, 14:04

ou sinon, l'autre solution, c'est de passer par un tiers type mailchimp ou mailjet.
L'inconvénient c'est que tu deviens dépendant de leur service.
L'avantage, c'est qu'il ont des solutions de mailing-list plus abouties et complètes que ce que tu pourras jamais créé et qui auront moins de chance de tomber dans le répertoire spam de tes destinataires.

Re: Newsletter : delai entre chaque mail

par tof73 » 21 janv. 2015, 21:20

faire un script qui envoie X emails et qui rafraichis la page à la fin pour envoyer les X suivants, avec par exemple du javascript :

[javascript]
<script>
function g(){
location.replace("monscript.php?debut=$suivant");
}
setTimeout(g,10000);
</script>
[/javascript]

Re: Newsletter : delai entre chaque mail

par fabrice88250 » 21 janv. 2015, 21:02

Merci, donc j'intégre sleep(1); dans mon if c'est bien ça ?
 if ( mail($donnees['mail'], $objet , $message, $headers) )
                {
                ?>
sleep(1);
 Envoi de la newsletter réussi à <?php echo $donnees['mail'];?><br/>

pour les mail j'ai une liste d'environ 500 mails qui risque de grandir un peu.

sinon tu dis : Par contre si t'as beaucoup de mails à envoyer ça risque d'être compliqué niveau temps d’exécution ...

quelle autre solution existe-lit ?

Re: Newsletter : delai entre chaque mail

par Genova » 21 janv. 2015, 19:28

sleep(1);
http://php.net/sleep

Par contre si t'as beaucoup de mails à envoyer ça risque d'être compliqué niveau temps d’exécution ...

Newsletter : delai entre chaque mail

par fabrice88250 » 21 janv. 2015, 18:32

bonjour,
je suis en train de mettre en place une newsletter sur mon site et mon hébergeur me demande de mettre un délai d’au moins une seconde entre chaque mail. (il semble que se soit pour éviter d’être identifier comme spammer).

j'ai donc en base de données mes adresses mail que je récupère pour l'envoie.
Le système fonctionne mais comment puis-je insérer un délai de 1 ou 2 secondes entre chaque envoie de mail ?

voilà ce que j'ai actuellement :
$objet = "Newsletter lacestchezmoi du $date"; 
 
//on définit le reste des paramètres
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= "From: [email protected]" . "\r\n"; 
$headers .= 'Reply-To: [email protected]' . "\r\n";
 
//je récupère de la table mesmail les personnes inscrites
$liste_vrac = mysql_query("SELECT mail FROM mesmail");
//je définis la liste des inscrits
$liste = '[email protected]';
    while ($donnees = mysql_fetch_assoc($liste_vrac))
    {
		//on envoie l'e-mail
		if ( mail($donnees['mail'], $objet , $message, $headers) ) 
		{
		?>
		Envoi de la newsletter réussi à <?php echo $donnees['mail'];?><br/>
		<?php
		}
		else
		{
		?>
		Échec de lors de l'envoi de la newsletter à <?php echo $donnees['mail'];?><br/>
		<?php
		}
    }
?>	
comment puis-je dire qu'il faut y avoir x secondes entre chaque mail ?