[script] Envoi de Newsletter

WRInaute discret
Bonjour à tous,

Je suis en train de developper un petit script d'envoi de newsletter en php. Je le met ici afin d'avoir vos avis. Quelles améliorations selons vous devraient être apportées.

De plus, il est fréquent de voir des post (pas uniquement sur ce forum) de personne recherchant des scripts de ce style, cela pourrait peut être en aider quelques-uns à se lancer.

Cependant ce petit bout de code ne sert qu'a gérer l'envoi des mails present dans une table "mailing".

J'aimerais bien que vous partagiez avec moi vos connaissances à ce sujet. Je compte envoyer en moyenne 20 000 mails tous les 2 ou 3 jours. Ce petit script est-il suffisant pour permettre aux mails de bien arriver à destination en temps et en heure?

Voici le petit bout de code:

Code:
<?
include("connexion_db.php");
$nbenvoi=0;

//on recupere le code source de page.php, ce sera le message du mail
ob_start(); 
include('page.php');
$message = ob_get_contents();

$destinataires="";

$objet = "Titre du mail" ;

// Si l’on veut envoyer un mail au format HTML, il faut configurer le type Content-type. */
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: site.com <webmaster@site.com>\n";


//===INITIALISATION===//

//nbre total de mails
$sql=@mysql_query("select count(*) from mailing");
$total=@mysql_fetch_row($sql);
$total=$total[0];

//prochain numéro de paquet à envoyer
$numpaquet=1;

//nombre de mails par paquet
$nb=100;

//determine le nombre de paquet de 100 mails à envoyer (arrondi a l'entier superieur)
$nbpaquet=ceil($total/$nb);

//on envoie les paquets 1 par 1 avec 10 secondes de delai entre chacun	
for ($i=1;$i<=$nbpaquet;$i ++)
{

		$debut=($numpaquet-1)*$nb;
		$infos=@mysql_query("Select * FROM mailing LIMIT $debut,$nb");	

		while($res=@mysql_fetch_assoc($sql))
		{

			$destinataires = $res["email"];					 

			// On envoi l’email
			if ( mail($destinataires, $objet, $message, $headers,"-fwebmaster@site.com") ){ $nbenvoi=$nbenvoi+1;}
	
			$destinataires="";
		}

		$numpaquet++;
		sleep(10);	
							
}

echo $nbenvoi;
ob_end_flush();
?>
 
WRInaute discret
Je sais qu'il y a sur le site de Zend.com un code que j'ai pas reussi a retrouver pour envoyer des mails de manière simple mais qui passe la plupart des tests...


Amicalement

Sebastien
 
WRInaute passionné
Les headers ne font pas tout.

Si en face tu as un FAI chatouilleux ou un DSI qui classe en spam tout ce qui n'est pas en SPF ou DomainKeys...
 
WRInaute discret
Non finalement j'ai laisser tombé, j'ai réussi à installer et bien configurer wanewsletter qui répond pas trop mal à mes besoins actuels.

Désolé.
 
Discussions similaires
Haut