SendMail

Soyez le premier à donner votre avis sur cette source.

Vue 6 076 fois - Téléchargée 2 163 fois

Description

Bonsoir à tous,
Je vous offre SendMail.
Il s'agit d'un outil qui peut s'avérer puissant dans le cadre de campagne mailing.
En fait j'ai créer un objet PHP qui regroupe les différents composants d'un mail.
Lors de l'envoi effectif du mail différents objets viennent se déclencher calqués sur le modèle des observers
afin de mettre à jour un Log ou mettre à jour une BDD ....
--------------------------
Voici comment l'utiliser
  
require_once "mail.class.php"; 
$mail=new SendMail("emeteur@domaine.fr", "test", "message de test");
$mail->addEventListener(new MailLog("Log.txt")); 
$mail->SendMail("destinataire@domaine.com"); 

------------------------
Dans mes prochaines mise à jour,
J'incorporais également la fonction emulate() qui équivaut à l'envoi d'un mail.
-----------------------
03-08-2014
J'ai ajouté la nouvelle fonction emulate() qui déclenche les observateurs sans envoyer le mail
J'ai ajouté un autre EventListener pour mettre à jour une BDD SQLite
  
require_once "mail.class.php"; 
$mail=new SendMail("emeteur@domaine.fr", "test", "message de test");
$mail->addEventListener(new MailLog("Log.txt")); 
$mail->addEventListener(new MailBDD("sendMailBDD.sqlite",
          "INSERT INTO sendmail VALUES("{from}","{subject}","{datetime}")"));
$mail->SendMail("destinataire@domaine.com"); 

vous trouverez aprés la liste des paramètre de la requête
{from}: adresse de l'émteur
{to} : adresse du destinataire
{datetime} : date et heures courantes
{date} : date courante
{time} : heure courante
{subject} : sujet du message
-------------------------
Bonne chance à tous - bon code !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Rom1sab
Messages postés
46
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
12 décembre 2015
3 -
Bonjour,
"Lors de l'envoi effectif du mail différente classe périférique viennent se déclencher calquer sur le modèle des observers
afin de Pour l'heure dés que le mail est envoyé le système met à jour un Log. "
Entre les dizaines de fautes et ce qui ne veut strictement rien dire en français... je ne comprends pas.
CecilCordheley
Messages postés
38
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
15 décembre 2018
> Rom1sab
Messages postés
46
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
12 décembre 2015
-
j'admet j'ai mis à jour à 21 heures ça a fait un peu mal.
Quand tu déclenche l'envoi ton mail. Des classes associées au SendMail viennent se déclencher pour exécuter un certain nombre d'actions.
Cette technique permet de réduire considérablement le nombre d'instruction dans le code source de ton projet.
Par exemple :
au lieu d'avoir un code comme cela :
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail($to, $subject, $message, $headers)){
$handle=fopen("log.txt","r");
$c=file_get_content("log.txt");
fclose($handle);
$h=fopen("log.txt","w+");
file_put_content($c."\n webmaster@example.com send mail [".$subject."] - ".date("Y-m-d")." at ".date("H:m:s");
fclose($h);
}

et encore il manque une condition dans ce code.
Tu auras
$mail=new SendMail("webmaster@example.com", "the subject", "hello");
$mail->addEventListener(new MailLog("log.txt"));
$mail->SendMail("nobody@example.com");

Là pour ce que j'ai mis dans le projet, il n'y a que la mis à jour d'un journal.

Cela te parraît-il plus clair ?
> Rom1sab
Messages postés
46
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
12 décembre 2015
-
C'est vrai que ça pique les yeux !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.