Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSE POUR EMAIL


Information sur la source

Catégorie :Class et Objet ( POO ) Niveau : Débutant Date de création : 11/12/2002 Date de mise à jour : 29/07/2006 15:32:59 Vu / téléchargé: 7 111 / 944

Note :
8,2 / 10 - par 5 personnes
8,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

une classe qui gere l'envoie d'email.
-texte
-html (avec ou sans les images) fichier local
-attachement (autant que vous voulez, local ou distant)
-copie carbone (invisible ou pas)

 

Source

  • <?
  • /*
  • * donne aussi une focntion de récupération des erreurs email_error()
  • */
  • $message = "ici votre message en texte brut";
  • $message_html = " ici votre message en texte html"; // local
  • /*
  • * insere les caracteres >128 pour tester Email::us_encode()
  • */
  • for($i = 0; $i <= 255; $i++){
  • $message .= chr($i);
  • }
  • $mail = new Email (); //l'objet
  • $mail->set_sender("vous@domaine"); //l'expediteur (facultatif)
  • $mail->add_recipient("votre_ami1@domaine");// cc
  • $mail->add_recipient("votre_ami2@domaine");// cc
  • $mail->add_recipient("votre_ami3@domaine",false);// bcc
  • $mail->subject("le sujet");// le sujet
  • $mail->text_message($message); //on formate le message
  • $mail->html_message($message_html,true); // link les images au mail
  • //$mail->html_message($message_html); // ne link pas les images au mail
  • $mail->attach("un_fchier.local"); // no comment
  • $mail->attach("http://un_fichier_distant.domaine"); // no comment
  • $mail->attach("http://un_autre_fichier_distant.domaine");// no comment
  • /*
  • * une fin probable
  • */
  • if ($mail->send()){
  • echo "e-mail envoye<br>\n";
  • if (count($mail->error_email) > 0)
  • email_error();
  • }//end if
  • else{
  • echo "l'email n'as pu etre envoyé<br>\n";
  • email_error();
  • }//end else
  • /**
  • * email_error()
  • *
  • * Une facon de recuperer les erreurs si vous n'utilisez pas de gestionnaire d'erreur
  • *
  • * @param null
  • * @return void
  • */
  • function email_error(){
  • global $mail;
  • foreach($mail->error_email as $error){
  • echo $error."<br>\n";
  • }//end foreach
  • }//end function email_error
  • ?>
<?
/*
* donne aussi une focntion de récupération des erreurs email_error()
*/

$message = "ici votre message en texte brut";
$message_html = " ici votre message en texte html"; // local

/*
* insere les caracteres >128 pour tester Email::us_encode()
*/

for($i = 0; $i <= 255; $i++){
	$message .= chr($i);
}

$mail = new Email (); //l'objet

$mail->set_sender("vous@domaine"); //l'expediteur (facultatif)

$mail->add_recipient("votre_ami1@domaine");// cc
$mail->add_recipient("votre_ami2@domaine");// cc
$mail->add_recipient("votre_ami3@domaine",false);// bcc

$mail->subject("le sujet");// le sujet	

$mail->text_message($message); //on formate le message

$mail->html_message($message_html,true); // link les images au mail
//$mail->html_message($message_html); // ne link pas les images au mail

$mail->attach("un_fchier.local"); // no comment
$mail->attach("http://un_fichier_distant.domaine"); // no comment
$mail->attach("http://un_autre_fichier_distant.domaine");// no comment

/*
* une fin probable
*/
if ($mail->send()){
	echo "e-mail envoye<br>\n";
	if (count($mail->error_email) > 0)
		email_error();
}//end if
else{
 echo "l'email n'as pu etre envoyé<br>\n";
		email_error();
}//end else


/**
 * email_error()
 * 
 * Une facon de recuperer les erreurs si vous n'utilisez pas de gestionnaire d'erreur
 * 
 * @param null
 * @return void
 */
function email_error(){
	global $mail;
	
	foreach($mail->error_email as $error){
		echo $error."<br>\n";
	}//end foreach
}//end function email_error

?>  

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

29 juillet 2006 15:32:59 :
correction bugs

Commentaires et avis

signaler à un administrateur
Commentaire de GunLiam le 11/12/2002 23:24:19

excellent !! 12 /10 !!
lol
laissez un commentaire histoire de faire avancer la sauce.
++

signaler à un administrateur
Commentaire de pi0up51 le 14/12/2002 13:40:43

Mignon je loook ;)

signaler à un administrateur
Commentaire de boopette le 16/02/2004 12:53:31

jai cette erreur et pourtant je rempli bien la variable "recipient" a appel

Notice: Undefined variable: recipient in Burnlib_email.php 353

et jai TOUT mis ca:
/*
* insere les caracteres &gt;128 pour tester Email::us_encode()
*/

for($i = 0; $i &lt;= 255; $i++){
$message .= chr($i);
}

$mail = new Email (); //l'objet

$mail-&gt;set_sender($from); //l'expediteur (facultatif)

//$mail-&gt;add_recipient($to);// cc
$mail-&gt;add_recipient("moi@ifrance.com");// cc
$mail-&gt;add_recipient("moi@laposte.net,false");// bcc

$mail-&gt;subject("le sujet");// le sujet

$mail-&gt;text_message($message); //on formate le message

$mail-&gt;html_message($message_html,true); // link les images au mail
//$mail-&gt;html_message($message_html); // ne link pas les images au mail

//$mail-&gt;attach("un_fchier.local"); // no comment
//$mail-&gt;attach("http://un_fichier_distant.domaine"); // no comment
//$mail-&gt;attach("http://un_autre_fichier_distant.domaine");// no comment

/**
* email_error()
*
* Une facon de recuperer les erreurs si vous n'utilisez pas de gestionnaire d'erreur
*
* @param null
* @return void
*/
function email_error(){
global $mail;

foreach($mail-&gt;error_email as $error){
echo $error."&lt;br&gt;\n";
}//end foreach
}//end function email_error


/*
* une fin probable
*/
if ($mail-&gt;send()){
echo "e-mail envoye&lt;br&gt;\n";
if (count($mail-&gt;error_email) &gt; 0)
email_error();
}//end if
else{
echo "l'email n'as pu etre envoyé&lt;br&gt;\n";
email_error();
}//end else

HELP

signaler à un administrateur
Commentaire de GunLiam le 21/02/2004 12:38:32

salut,
enfin qqun qui se sertde mon code !!!
je viens de mettre une nouvelle version qui corrige quelques bug (entre autre celui la)
aucun changement au niveau des appels. sauf que la le fuchier de conf est dans le fichier principal. juste à couper la conf et creer un nouveau fichier avec puis include  etc....

signaler à un administrateur
Commentaire de boopette le 21/02/2004 16:42:13

Super ca marche maintenant

j'ai des kestions a te poser:
- est qu'il est possible d'integrer des styles dans son message html??
mettre une image de fond, des &lt;DIV&gt;, etc ...??
- qd on met un message html, S qu'on peut mette un modele de message du style: &lt;html&gt;&lt;head&gt;..&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt; exactement comme un ferait pour une page html normale?? (integrer des javascripts ou ca pose probleme?)

Conseils:
oui pour tes prochaines modifs:
- penses a donner la possiblite de mettre un REPLY different du SENDER (expediteur)
- une verification d'adresse email aussi (pour savoir si l'adresse existe bien a lavance) sinon ta gestion d'erreur devrait le faire je pense

Sinon c tres bien ton code, bravo

signaler à un administrateur
Commentaire de GunLiam le 21/02/2004 22:41:22

re
pour l'heure il n'accroche que les images dans les balises &lt;img&gt;
pour le style, le javascript oui sauf les images du style mais c'est une bonne idée je vais le faire.
pour le reply c'est noté mais par contre vérifier l'adresse non. uniquement si l'adresse est bien formé (ce qui se fait déjà) mais pour savoir si le serveur existe la requete dns prends trop de temps ( jusqu'a 20 secondes pour avoir une réponse dans certain cas).
par contre ca ne sera pas fait avec ce code. je suis en train d'écrire une librairie plus complete ...
a voir la pre version sur http://sourceforge.net/projects/pool/
++

signaler à un administrateur
Commentaire de sebastien_et_typh le 29/11/2006 22:28:25

bonsoir merci pour ce code ,il m'envoit bien le mail mais malheureusement la piece jointe et illisible ? quelqu'un pourrait il m'aider svp?
est ce une configuration d'easyphp?car j'ai essaye plusieur script et a chaque fois j'ai la piece jointe mais elle est illisible.... ( la piece jointe est une image JPG)
merci d'avance

signaler à un administrateur
Commentaire de rambc le 29/04/2007 16:46:32

Je voulais utiliser ce script pour envoyer des mails de façon individuelle mais cela ne fonctionne pas car le Serveur met trop de temps à répondre "Le serveur de messagerie est injoignable.". Comment peut-on contourner le problème.

Autre chose, existe-t-il un moyen d'utiliser la fonction mail en local, c'est à dire sans passer par son provider.

Pour finir, existe-t-il une solution GRATUITE et efficace d'envoyer en masse MAIS de façon individualisé des mails ?

PS : Je mets 10/10 pour la simplicité d'usage.

signaler à un administrateur
Commentaire de g_fuck le 02/07/2008 12:56:35

   Est ce que les mails envoyes par ta function ne deviennent pas des spams a l'arrive? Et sinon Quel partie du code defini si le mail et un spam ou pas? (je sais que la frequence d'envoie est aussi une des causes!)
   J'aimerais etre sur avant d'utiliser ton Code

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.