SendMail

0/5 (3 avis)

Vue 8 775 fois - Téléchargée 2 557 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

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
15 janv. 2014 à 11:42
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.
Petit Robert > Rom1sab
Messages postés
46
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
12 décembre 2015

16 janv. 2014 à 00:58
C'est vrai que ça pique les yeux !
Profil bloqué > Rom1sab
Messages postés
46
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
12 décembre 2015

15 janv. 2014 à 22:22
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 ?

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.