snoozer
Messages postés1Date d'inscriptionmardi 10 septembre 2013StatutMembreDernière intervention10 septembre 2013 10 sept. 2013 à 15:50
j'ai viré la function chunk_split comme conseillé plus haut.
La fonction qui nous met plein de caractere bizarre : quoted_printable_encode()
dans le construct :
$this->_aProperties['Date'] = date("r");
c'est mieux comme ca, ca retourne le bon fuseau horraire plutot que celui qui est sur -0600 .
dans la fonction send j'ai du rajouter une ligne :
$this->_aProperties['Bodies'] = array();
pour reinitialisé le body
autrement si on veut envoyer 2 mail a la suite dans la meme instance, on récupéré le premier body dans le 2 ieme mail, meme en utilisant addBody (qui est censé le rajouté)
et j'ai pas trop fouiller...
JMarcBoutaud
Messages postés1Date d'inscriptiondimanche 5 février 2012StatutMembreDernière intervention 5 février 2012 5 févr. 2012 à 10:35
Ca paraît génial de simplicité effectivement, merci beaucoup de mettre à disposition ce très beau travail. Par contre, quand je fais le test avec l'exemple fourni : l'email envoyé va direct dans la boîte "Junk EMail" du destinataire...
Il y a moyen d'éviter ça ?
bentom32390
Messages postés25Date d'inscriptionmercredi 28 novembre 2007StatutMembreDernière intervention21 février 2009 13 janv. 2012 à 20:04
je vient de teste ta source marche bien
mais juste que les lien ne affiche pas comme lien
testabc
Messages postés33Date d'inscriptionjeudi 17 juillet 2008StatutMembreDernière intervention23 juillet 2014 15 nov. 2011 à 17:40
Testé sur ovh, ça ne fonctionne pas.
j'ai fais le test sans pièce jointe, le mail part bien, mais n'arrive jamais...
Peut-être une petite mise a jour de codefalse serait la bienvenue...
cink4webmister
Messages postés1Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention14 janvier 2011 14 janv. 2011 à 13:47
Bonjour,
Cette source est excelente mais je retrouve le même soucis sur les pièces jointes, le fichier est non lisible.
Quelqu'un aurait-il une solution ?
Merci
hungawa
Messages postés1Date d'inscriptionjeudi 9 décembre 2004StatutMembreDernière intervention29 novembre 2010 29 nov. 2010 à 17:20
Bonjour,
Merci pour cette excellente source.
J'ai un petit soucis, lorsque je joints une pièce jointe (pdf, image) la taille d'arrivée du fichier est de 0 et ne peut donc être lu. Avez-vous une idée afin de résoudre ce problème svp ?
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 29 oct. 2010 à 16:11
Propositions :
SimpleMail.php Ligne 72 :
if (NULL !== ($aProperties) && is_array($aProperties)) {
SimpleMail.php Méthode __set($sKey, $mValue) :
public function __set ($sKey, $mValue) {
if (gettype($this->_aProperties[$sKey]) != gettype($mValue))
throw new Exception ('Invalid type, must be '.gettype($this->_aProperties[$sKey]);
else
$this->_aProperties[$sKey] = $mValue;
}
J'ai pas regardé plus en profondeur pour le moment :)
NeoMansLand
Messages postés1Date d'inscriptionvendredi 3 septembre 2010StatutMembreDernière intervention 3 septembre 2010 3 sept. 2010 à 14:55
Bonjour à tous, et merci beaucoup pour cette source =)
j'ai utilisé ton script pour m'envoyer par mail le résultat d'un formulaire. Le visiteur remplit plusieurs champs, il a la possibilité de laisser une pièce jointe, et lorsqu'il valide son formulaire, je reçois un mail avec ce qu'il a rempli.
J'ai cependant deux problèmes :
- si l'on joint un fichier, il me balance l'erreur suivante : The file "MonFichier.pdf" is unreadable. J'ai pourtant la ligne qui correspond pour les pdf :
$oEmail->addAttachment ($_FILES['r_file']['name'], MimeType::get ('pdf'));
- le problème de la pièce jointe mise à part, dans la mise en page de mon mail, j'ai des retours à la ligne aléatoires... any idea why ?
code :
$sMessage_env='Nom: '.$_POST['r_nom'].'
'.
'Prenom: '.$_POST['r_prenom'].'
'.
'Societe: '.$_POST['r_fonction'].'
'.
'Adresse1: '.$_POST['r_adresse1'].'
'.
'Adresse2: '.$_POST['r_adresse2'].'
'.
'CP: '.$_POST['r_c_postal'].'
'.
'Ville: '.$_POST['r_ville'].'
'.
'Pays: '.$_POST['r_pays'].'
'.
'Tel: '.$_POST['r_tel'].'
'.
'Mail: '.$_POST['r_email'].'
'.
'Message: '.'
'.$_POST['r_message'].'
';
$oEmail->addBody ($sMessage_env, 'text/html');
cs_lkaiman
Messages postés16Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention 6 février 2010 6 févr. 2010 à 17:56
Merci pour ce code,
et me voila avec un autre module tout fais à utiliser comme je veux ;)
Have fun
jayprisme
Messages postés1Date d'inscriptionjeudi 8 octobre 2009StatutMembreDernière intervention 4 décembre 2009 4 déc. 2009 à 14:11
outre les espaces ajoutés déjà discutés ici, j'ai un problème d'encodage :
si mon texte est en utf8 il est mal interprété
et j'ai un caractère " ! " qui est inséré sans raison ...
je switch sur php mailer
brosto
Messages postés2Date d'inscriptionjeudi 28 juillet 2005StatutMembreDernière intervention 1 octobre 2009 1 oct. 2009 à 11:29
A oui pardon...
dommage aussi que le code génère une erreur si le mime d'une pièce jointe est introivable au lieu de mettre un mime par defaut. par exemple le swf n'est pas reconnu, donc envoi pas possible...
je me suis permis de le reprendre comme ça. je ne sais pas si c'est le top, mais ça marche :
public static function geti($sKey) {
$sExtension = $sKey;
if (!isset (self::$_aType[$sExtension]))
return "application/octet-stream";
return self::$_aType[$sExtension];
}
brosto
Messages postés2Date d'inscriptionjeudi 28 juillet 2005StatutMembreDernière intervention 1 octobre 2009 1 oct. 2009 à 11:25
Salut,
juste un petit truc... quand même. soit je suisa veugle, soit je ne trouve pas la fonction getMessage() qui est applelée en ligne 25 de index.php. donc ça fait une erreur fatale.
de plus, si elle sert à ce que je pense, elle serait bien utile pour faire un "imap_append" après que l'envoi ai été bien fait. une solution ?
merci quand même, bon code.
crahier
Messages postés54Date d'inscriptiondimanche 22 septembre 2002StatutMembreDernière intervention22 avril 2011 20 sept. 2009 à 16:01
Merci pour ce code !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 4 déc. 2008 à 22:45
c'est le but !
J'espère qu'il aide beaucoup tout en restant simple ! :)
cs_The_Pretender
Messages postés60Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention18 janvier 2011 4 déc. 2008 à 22:07
Merci pour votre réponse rapide.
J'ai trouvé d'où venait les problèmes.
- il faut pas utiliser plusieurs fois la méthode $oEmailAdmin->addBody(...) pour envoyer des messages mails longs. Sinon il ne sont pas envoyés en entier.
- le lien dans les mails doivent contenir une url complète, sinon il n'est pas affiché dans mozilla thunderbird.
exemple : Newsletter
- j'ai désativé chunck_split (ligne 152) dans le code.
Pour information, plusieurs intances fonctionnent très bien en tenant comptes des 2 remarques précédentes.
Féléicitation pour ton script propre et bien codé en php5. Merci beaucoup, cela m'a fait gagner du temps en m'évitant d'en développer un :)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 4 déc. 2008 à 21:38
Bonsoir :)
le fait qu'il manque un lien à la fin du mail est étrange, juste avant l'envoi de l'email, tu devrais faire un var_dump ($ton_objet); histoire de voir ce qu'il en est.
Pour ce qui est des multiples instances, je n'ai jamais essayé, mais je ne vois pas en quoi cela pourrai poser problème. Tu devrais peut-être essayer d'instancier une premiere fois, faire tout ton traitement, envoyer, supprimer (unset), et faire une nouvelle instance pour le second mail. Regarde ce que ca donne.
Enfin, pour le problème d'espace dans les mots, cela vient de la fonction chunck_split (ligne 152). Essaye en l'enlevant, ca devrait ptete mieux passer !
N'hésite pas à me dire ce qu'il en est, c'est grâce à ce genre de remarques que les problèmes ce corrigent.
cs_The_Pretender
Messages postés60Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention18 janvier 2011 4 déc. 2008 à 20:49
Bonjour,
Après avoir testé votre script, j'ai plusieurs bugs :
- Le mail n'est pas envoyé entièrement en html, il manque un lien a href à ola fin du message.
- Dans la même classe, j'instancie la classe simplemail 2 fois pour avoir 2 objet mail différents. Le 2ème mail n'est jamais envoyé en entier, le première partie disparait toujours du mail.
est ce des bugs connus ou une limitation du script ?
Exemple de message envoyé (le message n'apparaît pas correctement car les balises html sont désactivées) : Les points accumulés avec le Quizz Trouve Ta Musique de notre partenaire vo us fait gagner le cadeau suivant :
Nom : Iphone
Descri ption : Iphone 3G débloqué tout réseau.
logo_Iphone
Nombre de points nécessaire : 4000 points.
Féli citation pour votre cadeau. Celui-ci vous sera envoyé dans les plus brefs d élais.
N'hésitez pas à vous inscrire à la Newsletter Quizz Trouve Ta Musique pour étre tenu informé des prochains Quizz organisés par nos partenaires.
cs_bug31
Messages postés9Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention13 août 2011 7 nov. 2008 à 11:23
Merci codefalse j'avé la tete un peut ailleur suand jai regarder le script surment !
nico1214
Messages postés37Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention 6 mai 2009 6 nov. 2008 à 22:49
Bonjour,
J'avais le même problème que ClaudeD07 avec les espaces et en retirant chunk_split, ça fonctionne parfaitement.
Ceci dit, un grand bravo pour ce code et un grand merci !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 4 nov. 2008 à 15:37
Tu as déjà fait de la soumission de formulaire ?
Il faut que tu récupère les valeurs données par le formulaire (en $_POST généralement mais sinon aussi en $_GET), et que tu remplace l'exemple fournit par les variables en rapport dans ton formulaire (mail, nom/prénom, message, etc).
Si toutefois tu ne comprends rien de ce que j'ai dit, demande de l'aide sur le forum, tu trouvera une réponse plus adaptée à ton problème
cs_bug31
Messages postés9Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention13 août 2011 4 nov. 2008 à 15:16
Super il y a vraiment tout dessu mais j'ai un probleme, j'ai mon formullaire avec la fontion envoyer... et comment en ce sert de ta classe ?
PHP5 ?, j'ai essayer tes fichier seul comme ca rien ne ce passe !
Comment ca marche ? Merci
cs_gaele
Messages postés3Date d'inscriptionmardi 2 septembre 2008StatutMembreDernière intervention 2 septembre 2008 2 sept. 2008 à 22:22
je vais essayer.
merci
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 2 sept. 2008 à 21:51
Dans le fichier qui recoit la réponse du formulaire d'envoi d'email. Ou si tu l'envoie sans passer par un formulaire, directement dans la page qui effectue le traitement.
cs_gaele
Messages postés3Date d'inscriptionmardi 2 septembre 2008StatutMembreDernière intervention 2 septembre 2008 2 sept. 2008 à 21:01
ok mais ou dois-je le placer?
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 2 sept. 2008 à 20:47
Le code présent sur cette page est un exemple, tu peux l'adapter à tes besoins.
cs_gaele
Messages postés3Date d'inscriptionmardi 2 septembre 2008StatutMembreDernière intervention 2 septembre 2008 2 sept. 2008 à 20:21
Bonjour,
je suis complètement novice en php et j'aimerais savoir comment utiliser ce code.
merci
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 2 sept. 2008 à 18:35
En fait, je suis en train de me demander si je n'ai pas fait une mauvaise interprétation du manuel PHP :
"Scinde la chaîne body en segments de chunklen octets de longueur. Cette fonction est très pratique pour convertir les résultats de base64_encode() au format de la RFC 2045.".
Après relecture, il semblerai qu'elle soit utile après l'usage de la méthode base64_encode. Donc si on n'utilise pas cette méthode, on a pas besoin d'utiliser chunk_split. Or dans mon code je l'utilise quoiqu'il arrive.
Dites-moi ce que vous en pensez, et si j'ai effectivement fait une mauvaise interprétation, je corrigerai vite le code ! :)
cs_clauded07
Messages postés5Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention 2 septembre 2008 2 sept. 2008 à 18:27
en supprimant chunk_split, ca marche
tout en fesant attention de faire de temps en temps des retour a la ligne au bon endroit
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 2 sept. 2008 à 17:10
ca doit être la fonction chunk_split qui te découpe ta chaine. Par contre je ne vois pas trop comment y remédier ... !
cs_clauded07
Messages postés5Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention 2 septembre 2008 2 sept. 2008 à 16:46
Un probleme!!
Parfois, des caractères "espace" sont rajouté, en addbody(text/html). quand ca tombe bien ca va. quand ca tombe a l'interieur des caratère spéciaux &xxxx; c'est pas cool ou en plein mot.
exemple avec cette phrase :
------
Ce courriel vous a été envoyé par un système automatique d'émission de messages. L'adresse d'émission n'est pas une adresse de courriel classique. Si vous écrivez à cette adresse votre message ne sera pas pris en compte. Si vous souhaitez nous envoyer un message, nous vous invitons à utiliser [la] rubrique NOUS CONTACTER se trouvant sur le site.
-------
insertion d'un blanc sur [la], mis entre crochet, au caractere N° 296 .
mystere
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 29 août 2008 à 10:58
lol pas de problemes ;)
Perso je préfère quand ca marche ;)
Bonne journée :)
cs_clauded07
Messages postés5Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention 2 septembre 2008 29 août 2008 à 10:37
J'ai recu les mail, impeccable! c'est qmail il a fait de la retention d'information! vraiement désolé, heureusement que t'es pas cardiaque!
Merci, super boulot !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 29 août 2008 à 10:15
c'est un probleme au niveau des headers que mon code ajoute, il doit y en avoir un que ovh n'aime pas. Je m'était déjà battu pour débugguer, et sur mon 60gp c'était passé ensuite. Peut-être que maintenant il y en à un autre ? (il est vrai que j'en met pas mal des headers !)
Si tu veux trouver le problème, je te conseil fortement de regarder de ce côté. Je te dit ca car je peux pas te promettre de corriger le code rapidement, en ce moment je fait des journées de 19 heures ... :p
Mais si tu ne trouve pas, je jeterai un oeil quand j'aurai du temps devant moi. Je le met sur la liste de mes tâches ;)
Merci pour la remontée !
cs_clauded07
Messages postés5Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention 2 septembre 2008 29 août 2008 à 09:03
oui les mails avec la fonction php [mail] passe bien.
avec ton code, j'ai fait des essais d'envoi simple, sans pieces jointes mais c'est pareil.
c'est le mystere! qmail est configurer de maniere classique. aucune trace dans les logs, aucune erreur généré.
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 28 août 2008 à 22:43
Mais la fonction mail envoie bien les mails sur ton serveur dédié (sans passer par ma source) ?
J'avais corrigé certains bugs à propos de OVH, mais ptete pas tous apparement.
J'attends des retours de ma question ?
cs_clauded07
Messages postés5Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention 2 septembre 2008 28 août 2008 à 20:53
salut et bon travail. cependant tester sur un dedie ovh, gentoo 2, ca marche pas.
:(
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 1 août 2008 à 00:23
Ajout du support des accents dans le sujet ! :)
Par contre je sais pas comment faire pour le support des accents dans les emails, si vous avez une idée ?
Si j'utilise la fonction quoted_printable_encode, ca va me fusiller tous les <>, espace et @, donc c'est pas bon !
Parce que pour le moment si quelqu'un met un truc du genre 'éléphant <elephantman@example.org>'. Le mail ne partira pas ... :/
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 31 juil. 2008 à 23:36
Je me suis rendu compte que le code marchait pas chez ovh. Pire encore, ca fonctionnait pas en lecture sur les serveurs MS (exchange et Hotmail). C'est maintenant corrigé ! :)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 18 juil. 2008 à 18:52
Merci ^^ :)
Morphinof
Messages postés255Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 9 août 20134 18 juil. 2008 à 17:36
Voila tu as gagné j'ai plus rien à dire maintenant snif :D
Encore bravo pour cette source ! :)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 15 juil. 2008 à 20:15
Voila une petite mise à jour :)
J'ai pris en compte vos commentaires.
Maintenant la classe supporte les mails en html avec les images, qui sont automatiquement incorporées dans le html lorsque ces images sont accessibles en lecture depuis le script.
La classe supporte aussi la compression des pièces jointes à la volée. J'ai pas fait quelque chose de complexe car la compression n'est pas le sujet ici.
J'ai donc fait une interface iCompression, que la méthode addAttachment prends en paramètre, et appele la méthode compress afin de compresser une chaine donnée dans la compression choisie.
J'ai ensuite fait trois classes BzCompression, GzCompression et LzfCompression, pour montrer comment cela marche. Elles ne sont absoluments pas poussée (3 méthodes ! :p) mais c'est volontaire, car là n'est pas le but. A vous ensuite d'implémenter vos propres classes de compression.
Alors ? Verdict ? :)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 15 juil. 2008 à 00:44
C'est vrai que travailler à fond sur un truc et etre sur de faire quelque chose d'innovant, et se rendre compte trop tard que nan ... je crois que beaucoup d'entre nous connaissent ca ! :)
... et ouais ... j'aime coder ... :)
DijxDreaM
Messages postés4Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention14 juillet 2008 14 juil. 2008 à 14:39
C'est clair que de toute manière personne ne pourra nous retirer le plaisir de programmer. Quand bien même notre code ne servirais à rien! C'est juste que souvent c'est assez frustrant de developper un belle appli pour finalement se rendre compte, qu'il éxiste déjà mieux et plus rapide loool !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 14 juil. 2008 à 13:43
Et Firefox ? ils réinvente la roue nan ? parce que il y avait déjà IE ! :p
Nan plus sérieusement, si tu veux implémenter un formulaire d'envoi de mail, tu va pas installer tout le zend fw rien que pour utiliser Zend_Mail :/ Et sinon Pear doit probablement faire déjà cela aussi, ainsi que bien d'autres.
Mais c'est en diversifiant les choses qu'on se rend compte qu'il y a toujours des amélirations possibles ! :p
En plus, qu'est-ce que tu veux incznrze ? ya déjà trop de choses qui existent ! :)
Après je sais, perso je suis plus du genre à réinventer la roue (regarde mes sources), mais comme je viens de le dire, je suis plus du genre à tenter d'améliorer la roue (ou tout du moin d'y ajouter des options intéressantes) que d'essayer d'inventer un truc qu'au final quelqu'un d'autre aura déjà fait :p
DijxDreaM
Messages postés4Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention14 juillet 2008 14 juil. 2008 à 00:11
et Zend_Mail ? Ca fait un peu: "Je réinvente la roue" nan? lol. Mais en tout cas, j'ai testé et j'approuve xD !
Excellent !
J'ai écumé phpcs et d'autres sites web il n'y a pas longtemps, sans trouver de source mail qui me plaise. Je m'étais résolu à me faire ma propre classe quand j'aurais le temps mais là tu m'as sauvé, merci :) J'aurai peut-être des commentaires quand j'aurai pu tester. à+
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 11 juil. 2008 à 09:27
@Winwarrior : j'ai commencé par remplir les champs un par un, puis je les ais supprimés petit à petit à force d'avancer dans le code
@Webdeb : Merci ! :)
@Orion : :p
@Morphinof : C'est pas con l'idée de mettre des liens absolus. Le problème qui se pose maintenant, c'est de bien choisir ce qui sera mis en pièce jointe ou non. Les images, ok, mais les css ? le js ? et les images dans le css ? etc ... :/
Pour l'histoire de l'exception, en effet tu a raison ! :p
cs_OriOn
Messages postés822Date d'inscriptionvendredi 25 mai 2001StatutModérateurDernière intervention 1 août 2014 11 juil. 2008 à 09:05
content de ne pas avoir à supprimer une source d'envoi de mail ;-)
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 11 juil. 2008 à 00:41
Bravo c'est du bon code ;)
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 11 juil. 2008 à 00:06
Au temps pour moi, mal lu, c'est vrai que ca fait bizarre d'envoyer un mail en utilisant que les headers (ca m'apprendra a ecrire trop vite..)
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 11 juil. 2008 à 00:02
Salut,
Ligne 242, if (mail ('', '', '', $sHeaders) === false) << il y a pas comme un oubli?
Morphinof
Messages postés255Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 9 août 20134 10 juil. 2008 à 23:44
En fait tu te casse la tête pour rien :p Si l'utilisateur veut utiliser sa il met un lien absolu et basta ^^ Enfin moi ce que j'en dit :D Sinon si il veut du gz sans activer la librairie alors c'est un excellent exemple d'exception à lever ;) Dans la mesure ou la personne spécifie que la pièce doit être compressée alors il vaut mieux ne pas l'envoyer non compressée ;)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 10 juil. 2008 à 20:04
Pour ce qui est de la jointure de document liés au document html principal, le probleme c'est comment définir ou se trouve le repertoire qui contient le document en question ? pour src="image.jpg" ou se trouve image.jpg ?
Je peux éventuellement faire une variable sBasePath qui contient le repertoire de base et donc donc mon exemple, l'image serait à $sBasePath.'image.jpg';
Mais dans ce cas est-ce que $sBasePath s'applique aussi aux pièces jointes simples ?
Pour ce qui est de la compression, j'ai remarqué les librairies Zlib, Bz, Lzf et Zip qui peuvent permettre une compression. Maintenant si toutefois le serveur n'a pas la bibliothèque Zlib d'activée et que l'utilisateur veux du gz, est-ce que je lance une exception ou je ne la compresse pas ?
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 10 juil. 2008 à 17:36
"En fait si tu a un email en html avec quelque chose du genre . Cette classe n'ira pas chercher le fichier bannière.jpg, la compresser et faire en sorte que chez le destinataire, l'image s'affiche normalement à l'emplacement voulut dans l'html."
Ce serait bien pourtant lol
Non mais ok, j'avais bien compris. Donc... si je joins une image à un mail, a priori, il doit être possible d'y faire référence dans le mail en HTML...
Pour la compression, yep... Et peut-être même une interface, pour la portabilité et la réutilisation.
Sinon, tu publies ça en GNU/GPL, mais tu précises pas la version... La V3 est plus secure... ;)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 10 juil. 2008 à 17:26
@Neigedhiver : En fait si tu a un email en html avec quelque chose du genre . Cette classe n'ira pas chercher le fichier bannière.jpg, la compresser et faire en sorte que chez le destinataire, l'image s'affiche normalement à l'emplacement voulut dans l'html.
J'explique mieux la ? :p
Sinon biensur tu peux ajouter des pièces jointes sans soucis ! :)
Pour le fichier distant en pièce jointe, c'est possible si la configuration de php le permet (vu que je passe par is_readable et file_get_contents)
Pour la compression je peux utiliser Zip et ZLib, mais du coup il faudrait faire un truc de ce genre (à mon avis) :
class abstract Compression {}
class Zlib extends Compression {}
class Zip extends Compression {}
Puis rajouter une option 'Compress' dans la signature de la méthode addAttachment qui contient soit Zip (pour une compression zip), soit Zlib (pour une compression Zlib), soit rien pour aucune compression.
Ca peux etre possible en effet :)
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 10 juil. 2008 à 17:16
"Je ne l'ai pas précisé mais cette classe ne permet pas d'envoyer des documents avec des pièces jointes attachée au document"
Pas sûr d'avoir compris... Heureusement que la parenthèse qui suit m'éclaire...
Mais rassure moi... cette classe permet bien d'envoyer des pièces jointes, hein ?
Donc on peut attacher des images auxquelles ont fait référence dans le mail HTML non ?
Pour ce qui est de la compression, je pense que ça peut être bien, aussi...
La décision de compresser est à la discrétion de l'expéditeur... Si je veux envoyer plusieurs pièces jointes et que je veux les zipper, parce que c'est ce que j'ai convenu par téléphone avec le destinataire, ça peut être sympa.
Si en plus on peut mettre en pièce jointe un fichier distant, c'est encore plus super (c'est pas forcément intéressant pour un mailer comme Thunderbird, Outlook, etc, mais pour un mailer en ligne, ça permet d'envoyer des fichiers sans avoir besoin de les télécharger, les enregistrer, les ajouter...)
C'est pas que ces fonctionnalités sont indispensables, hein... Juste que de pouvoir le faire en cochant une simple case à cocher (au niveau du contrôleur), ça fait toujours plaisir...
Morphinof
Messages postés255Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 9 août 20134 10 juil. 2008 à 17:12
@Neigedhiver : "Ça pourrait être, à mon avis, une référence en matière de source d'email.", c'est clair je suis tout à fait d'accord ^^
Elle est tellement légère que c'est pour sa que me demandait si le coup d'ajouter la compression c'était pas l'alourdir pour rien.
Morphinof
Messages postés255Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 9 août 20134 10 juil. 2008 à 17:09
D'où l'idée de le mettre en option lors de l'ajout d'une pièce jointe car effectivement il faudra décompresser lors de la réception mais après si c'est des mails automatiques d'archivage par exemple c'est intéressant non? ^^
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 10 juil. 2008 à 17:08
Ca existe déjà, c'est du revu... Ben oui, mais la question à se poser est "Est-ce que ça existe en aussi complet ?".
Des sources d'email, sur phpCS, j'en ai vu quelques unes (toi aussi je pense). Et là, je trouve qu'on atteint une sorte de sommet. On peut sûrement rajouter des trucs, mais sincèrement... Quand j'ai lu ça :
_ simple (un texte)
_ alternative (différentes versions d'un texte (plain et html généralement))
_ mixed simple (un texte et n pièces jointes (avec n > 0))
_ mixed alternative (différentes versions d'un texte avec n pièces jointes)
Associé à l'auteur, j'ai tout de suite compris que c'était de l'inédit sur phpcs... Ca pourrait être, à mon avis, une référence en matière de source d'email.
Et j'en profite pour noter, parce que quand même...
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 10 juil. 2008 à 17:03
Merci :)
Je ne l'ai pas précisé mais cette classe ne permet pas d'envoyer des documents avec des pièces jointes attachée au document (des images du document html par exemple).
Pour la compression c'est pas une mauvaise idée mais comment tu fait ? parce que si je les compresses en zip/tgz/bgz, le client devra forcément les décompresser, ce qui n'est pas forcément dans l'envie de l'émetteur de compresser les documents ?
Morphinof
Messages postés255Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 9 août 20134 10 juil. 2008 à 16:47
Bah rien à dire !
C'est tout simple à utiliser, c'est propre, c'est fonctionnel... Que du bon quoi :D
Sa mérite une bonne note sa ;)
A la limite tu peu même t'amuser à intégrer un système de compression en option pour les pièces jointes, c'est la cerise sur le gâteau, à voir si sa l'alourdirai trop ou non ^^
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 10 juil. 2008 à 13:31
Et bien ! Personnnellement je craignais plus un "Ca existe déjà", "c'est du revu".
Ton commentaire fait plaisir :)
En fait je l'ai codé hier pour les besoins de la boite dans laquelle je suis et d'apres les premiers tests effectués, ca à l'air de fonctionner ! :)
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 10 juil. 2008 à 13:00
Plop !
Dis donc... Ca a l'air plutôt pas mal tout ça !
Forcément, c'est propre, joli à regarder, lisible et compréhensible... Forcément, c'est facile à réutiliser, etc...
Euh je suis pas sûr d'avoir des critiques négatives à faire...
Je vais pas pouvoir tester, donc pour le débogage et un éventuel retour pour des améliorations possibles, je ne suis pas en mesure d'apporter ça...
En tout cas, c'est très très complet, et ça change des sources d'envoi de mails qu'on trouve habituellement. Chapeau donc pour cette exhaustivité !
10 sept. 2013 à 15:50
La fonction qui nous met plein de caractere bizarre : quoted_printable_encode()
dans le construct :
$this->_aProperties['Date'] = date("r");
c'est mieux comme ca, ca retourne le bon fuseau horraire plutot que celui qui est sur -0600 .
dans la fonction send j'ai du rajouter une ligne :
$this->_aProperties['Bodies'] = array();
pour reinitialisé le body
autrement si on veut envoyer 2 mail a la suite dans la meme instance, on récupéré le premier body dans le 2 ieme mail, meme en utilisant addBody (qui est censé le rajouté)
et j'ai pas trop fouiller...
5 févr. 2012 à 10:35
Il y a moyen d'éviter ça ?
13 janv. 2012 à 20:04
mais juste que les lien ne affiche pas comme lien
15 nov. 2011 à 17:40
j'ai fais le test sans pièce jointe, le mail part bien, mais n'arrive jamais...
Peut-être une petite mise a jour de codefalse serait la bienvenue...
14 janv. 2011 à 13:47
Cette source est excelente mais je retrouve le même soucis sur les pièces jointes, le fichier est non lisible.
Quelqu'un aurait-il une solution ?
Merci
29 nov. 2010 à 17:20
Merci pour cette excellente source.
J'ai un petit soucis, lorsque je joints une pièce jointe (pdf, image) la taille d'arrivée du fichier est de 0 et ne peut donc être lu. Avez-vous une idée afin de résoudre ce problème svp ?
29 oct. 2010 à 16:11
SimpleMail.php Ligne 72 :
if (NULL !== ($aProperties) && is_array($aProperties)) {
SimpleMail.php Méthode __set($sKey, $mValue) :
public function __set ($sKey, $mValue) {
if (gettype($this->_aProperties[$sKey]) != gettype($mValue))
throw new Exception ('Invalid type, must be '.gettype($this->_aProperties[$sKey]);
else
$this->_aProperties[$sKey] = $mValue;
}
J'ai pas regardé plus en profondeur pour le moment :)
3 sept. 2010 à 14:55
j'ai utilisé ton script pour m'envoyer par mail le résultat d'un formulaire. Le visiteur remplit plusieurs champs, il a la possibilité de laisser une pièce jointe, et lorsqu'il valide son formulaire, je reçois un mail avec ce qu'il a rempli.
J'ai cependant deux problèmes :
- si l'on joint un fichier, il me balance l'erreur suivante : The file "MonFichier.pdf" is unreadable. J'ai pourtant la ligne qui correspond pour les pdf :
$oEmail->addAttachment ($_FILES['r_file']['name'], MimeType::get ('pdf'));
- le problème de la pièce jointe mise à part, dans la mise en page de mon mail, j'ai des retours à la ligne aléatoires... any idea why ?
code :
$sMessage_env='Nom: '.$_POST['r_nom'].'
'.
'Prenom: '.$_POST['r_prenom'].'
'.
'Societe: '.$_POST['r_fonction'].'
'.
'Adresse1: '.$_POST['r_adresse1'].'
'.
'Adresse2: '.$_POST['r_adresse2'].'
'.
'CP: '.$_POST['r_c_postal'].'
'.
'Ville: '.$_POST['r_ville'].'
'.
'Pays: '.$_POST['r_pays'].'
'.
'Tel: '.$_POST['r_tel'].'
'.
'Mail: '.$_POST['r_email'].'
'.
'Message: '.'
'.$_POST['r_message'].'
';
$oEmail->addBody ($sMessage_env, 'text/html');
6 févr. 2010 à 17:56
et me voila avec un autre module tout fais à utiliser comme je veux ;)
Have fun
4 déc. 2009 à 14:11
si mon texte est en utf8 il est mal interprété
et j'ai un caractère " ! " qui est inséré sans raison ...
je switch sur php mailer
1 oct. 2009 à 11:29
dommage aussi que le code génère une erreur si le mime d'une pièce jointe est introivable au lieu de mettre un mime par defaut. par exemple le swf n'est pas reconnu, donc envoi pas possible...
je me suis permis de le reprendre comme ça. je ne sais pas si c'est le top, mais ça marche :
public static function geti($sKey) {
$sExtension = $sKey;
if (strpos ($sKey, '.') !== false)
$sExtension = substr ($sKey, strrpos ($sKey, '.') + 1);
if (!isset (self::$_aType[$sExtension]))
return "application/octet-stream";
return self::$_aType[$sExtension];
}
1 oct. 2009 à 11:25
juste un petit truc... quand même. soit je suisa veugle, soit je ne trouve pas la fonction getMessage() qui est applelée en ligne 25 de index.php. donc ça fait une erreur fatale.
de plus, si elle sert à ce que je pense, elle serait bien utile pour faire un "imap_append" après que l'envoi ai été bien fait. une solution ?
merci quand même, bon code.
20 sept. 2009 à 16:01
4 déc. 2008 à 22:45
J'espère qu'il aide beaucoup tout en restant simple ! :)
4 déc. 2008 à 22:07
J'ai trouvé d'où venait les problèmes.
- il faut pas utiliser plusieurs fois la méthode $oEmailAdmin->addBody(...) pour envoyer des messages mails longs. Sinon il ne sont pas envoyés en entier.
- le lien dans les mails doivent contenir une url complète, sinon il n'est pas affiché dans mozilla thunderbird.
exemple : Newsletter
- j'ai désativé chunck_split (ligne 152) dans le code.
Pour information, plusieurs intances fonctionnent très bien en tenant comptes des 2 remarques précédentes.
Féléicitation pour ton script propre et bien codé en php5. Merci beaucoup, cela m'a fait gagner du temps en m'évitant d'en développer un :)
4 déc. 2008 à 21:38
le fait qu'il manque un lien à la fin du mail est étrange, juste avant l'envoi de l'email, tu devrais faire un var_dump ($ton_objet); histoire de voir ce qu'il en est.
Pour ce qui est des multiples instances, je n'ai jamais essayé, mais je ne vois pas en quoi cela pourrai poser problème. Tu devrais peut-être essayer d'instancier une premiere fois, faire tout ton traitement, envoyer, supprimer (unset), et faire une nouvelle instance pour le second mail. Regarde ce que ca donne.
Enfin, pour le problème d'espace dans les mots, cela vient de la fonction chunck_split (ligne 152). Essaye en l'enlevant, ca devrait ptete mieux passer !
N'hésite pas à me dire ce qu'il en est, c'est grâce à ce genre de remarques que les problèmes ce corrigent.
4 déc. 2008 à 20:49
Après avoir testé votre script, j'ai plusieurs bugs :
- Le mail n'est pas envoyé entièrement en html, il manque un lien a href à ola fin du message.
- Dans la même classe, j'instancie la classe simplemail 2 fois pour avoir 2 objet mail différents. Le 2ème mail n'est jamais envoyé en entier, le première partie disparait toujours du mail.
est ce des bugs connus ou une limitation du script ?
Exemple de message envoyé (le message n'apparaît pas correctement car les balises html sont désactivées) : Les points accumulés avec le Quizz Trouve Ta Musique de notre partenaire vo us fait gagner le cadeau suivant :
Nom : Iphone
Descri ption : Iphone 3G débloqué tout réseau.
logo_Iphone
Nombre de points nécessaire : 4000 points.
Féli citation pour votre cadeau. Celui-ci vous sera envoyé dans les plus brefs d élais.
N'hésitez pas à vous inscrire à la Newsletter Quizz Trouve Ta Musique pour étre tenu informé des prochains Quizz organisés par nos partenaires.
7 nov. 2008 à 11:23
6 nov. 2008 à 22:49
J'avais le même problème que ClaudeD07 avec les espaces et en retirant chunk_split, ça fonctionne parfaitement.
Ceci dit, un grand bravo pour ce code et un grand merci !
4 nov. 2008 à 15:37
Il faut que tu récupère les valeurs données par le formulaire (en $_POST généralement mais sinon aussi en $_GET), et que tu remplace l'exemple fournit par les variables en rapport dans ton formulaire (mail, nom/prénom, message, etc).
Si toutefois tu ne comprends rien de ce que j'ai dit, demande de l'aide sur le forum, tu trouvera une réponse plus adaptée à ton problème
4 nov. 2008 à 15:16
PHP5 ?, j'ai essayer tes fichier seul comme ca rien ne ce passe !
Comment ca marche ? Merci
2 sept. 2008 à 22:22
merci
2 sept. 2008 à 21:51
2 sept. 2008 à 21:01
2 sept. 2008 à 20:47
2 sept. 2008 à 20:21
je suis complètement novice en php et j'aimerais savoir comment utiliser ce code.
merci
2 sept. 2008 à 18:35
"Scinde la chaîne body en segments de chunklen octets de longueur. Cette fonction est très pratique pour convertir les résultats de base64_encode() au format de la RFC 2045.".
Après relecture, il semblerai qu'elle soit utile après l'usage de la méthode base64_encode. Donc si on n'utilise pas cette méthode, on a pas besoin d'utiliser chunk_split. Or dans mon code je l'utilise quoiqu'il arrive.
Dites-moi ce que vous en pensez, et si j'ai effectivement fait une mauvaise interprétation, je corrigerai vite le code ! :)
2 sept. 2008 à 18:27
tout en fesant attention de faire de temps en temps des retour a la ligne au bon endroit
2 sept. 2008 à 17:10
2 sept. 2008 à 16:46
Parfois, des caractères "espace" sont rajouté, en addbody(text/html). quand ca tombe bien ca va. quand ca tombe a l'interieur des caratère spéciaux &xxxx; c'est pas cool ou en plein mot.
exemple avec cette phrase :
------
Ce courriel vous a été envoyé par un système automatique d'émission de messages. L'adresse d'émission n'est pas une adresse de courriel classique. Si vous écrivez à cette adresse votre message ne sera pas pris en compte. Si vous souhaitez nous envoyer un message, nous vous invitons à utiliser [la] rubrique NOUS CONTACTER se trouvant sur le site.
-------
insertion d'un blanc sur [la], mis entre crochet, au caractere N° 296 .
mystere
29 août 2008 à 10:58
Perso je préfère quand ca marche ;)
Bonne journée :)
29 août 2008 à 10:37
Merci, super boulot !
29 août 2008 à 10:15
Si tu veux trouver le problème, je te conseil fortement de regarder de ce côté. Je te dit ca car je peux pas te promettre de corriger le code rapidement, en ce moment je fait des journées de 19 heures ... :p
Mais si tu ne trouve pas, je jeterai un oeil quand j'aurai du temps devant moi. Je le met sur la liste de mes tâches ;)
Merci pour la remontée !
29 août 2008 à 09:03
avec ton code, j'ai fait des essais d'envoi simple, sans pieces jointes mais c'est pareil.
c'est le mystere! qmail est configurer de maniere classique. aucune trace dans les logs, aucune erreur généré.
28 août 2008 à 22:43
J'avais corrigé certains bugs à propos de OVH, mais ptete pas tous apparement.
J'attends des retours de ma question ?
28 août 2008 à 20:53
:(
1 août 2008 à 00:23
Par contre je sais pas comment faire pour le support des accents dans les emails, si vous avez une idée ?
Si j'utilise la fonction quoted_printable_encode, ca va me fusiller tous les <>, espace et @, donc c'est pas bon !
Parce que pour le moment si quelqu'un met un truc du genre 'éléphant <elephantman@example.org>'. Le mail ne partira pas ... :/
31 juil. 2008 à 23:36
18 juil. 2008 à 18:52
18 juil. 2008 à 17:36
Encore bravo pour cette source ! :)
15 juil. 2008 à 20:15
J'ai pris en compte vos commentaires.
Maintenant la classe supporte les mails en html avec les images, qui sont automatiquement incorporées dans le html lorsque ces images sont accessibles en lecture depuis le script.
La classe supporte aussi la compression des pièces jointes à la volée. J'ai pas fait quelque chose de complexe car la compression n'est pas le sujet ici.
J'ai donc fait une interface iCompression, que la méthode addAttachment prends en paramètre, et appele la méthode compress afin de compresser une chaine donnée dans la compression choisie.
J'ai ensuite fait trois classes BzCompression, GzCompression et LzfCompression, pour montrer comment cela marche. Elles ne sont absoluments pas poussée (3 méthodes ! :p) mais c'est volontaire, car là n'est pas le but. A vous ensuite d'implémenter vos propres classes de compression.
Alors ? Verdict ? :)
15 juil. 2008 à 00:44
... et ouais ... j'aime coder ... :)
14 juil. 2008 à 14:39
14 juil. 2008 à 13:43
Nan plus sérieusement, si tu veux implémenter un formulaire d'envoi de mail, tu va pas installer tout le zend fw rien que pour utiliser Zend_Mail :/ Et sinon Pear doit probablement faire déjà cela aussi, ainsi que bien d'autres.
Mais c'est en diversifiant les choses qu'on se rend compte qu'il y a toujours des amélirations possibles ! :p
En plus, qu'est-ce que tu veux incznrze ? ya déjà trop de choses qui existent ! :)
Après je sais, perso je suis plus du genre à réinventer la roue (regarde mes sources), mais comme je viens de le dire, je suis plus du genre à tenter d'améliorer la roue (ou tout du moin d'y ajouter des options intéressantes) que d'essayer d'inventer un truc qu'au final quelqu'un d'autre aura déjà fait :p
14 juil. 2008 à 00:11
13 juil. 2008 à 01:08
J'ai écumé phpcs et d'autres sites web il n'y a pas longtemps, sans trouver de source mail qui me plaise. Je m'étais résolu à me faire ma propre classe quand j'aurais le temps mais là tu m'as sauvé, merci :) J'aurai peut-être des commentaires quand j'aurai pu tester. à+
11 juil. 2008 à 09:27
@Webdeb : Merci ! :)
@Orion : :p
@Morphinof : C'est pas con l'idée de mettre des liens absolus. Le problème qui se pose maintenant, c'est de bien choisir ce qui sera mis en pièce jointe ou non. Les images, ok, mais les css ? le js ? et les images dans le css ? etc ... :/
Pour l'histoire de l'exception, en effet tu a raison ! :p
11 juil. 2008 à 09:05
11 juil. 2008 à 00:41
11 juil. 2008 à 00:06
11 juil. 2008 à 00:02
Ligne 242, if (mail ('', '', '', $sHeaders) === false) << il y a pas comme un oubli?
10 juil. 2008 à 23:44
10 juil. 2008 à 20:04
Je peux éventuellement faire une variable sBasePath qui contient le repertoire de base et donc donc mon exemple, l'image serait à $sBasePath.'image.jpg';
Mais dans ce cas est-ce que $sBasePath s'applique aussi aux pièces jointes simples ?
Pour ce qui est de la compression, j'ai remarqué les librairies Zlib, Bz, Lzf et Zip qui peuvent permettre une compression. Maintenant si toutefois le serveur n'a pas la bibliothèque Zlib d'activée et que l'utilisateur veux du gz, est-ce que je lance une exception ou je ne la compresse pas ?
10 juil. 2008 à 17:36
Ce serait bien pourtant lol
Non mais ok, j'avais bien compris. Donc... si je joins une image à un mail, a priori, il doit être possible d'y faire référence dans le mail en HTML...
Pour la compression, yep... Et peut-être même une interface, pour la portabilité et la réutilisation.
Sinon, tu publies ça en GNU/GPL, mais tu précises pas la version... La V3 est plus secure... ;)
10 juil. 2008 à 17:26
J'explique mieux la ? :p
Sinon biensur tu peux ajouter des pièces jointes sans soucis ! :)
Pour le fichier distant en pièce jointe, c'est possible si la configuration de php le permet (vu que je passe par is_readable et file_get_contents)
Pour la compression je peux utiliser Zip et ZLib, mais du coup il faudrait faire un truc de ce genre (à mon avis) :
class abstract Compression {}
class Zlib extends Compression {}
class Zip extends Compression {}
Puis rajouter une option 'Compress' dans la signature de la méthode addAttachment qui contient soit Zip (pour une compression zip), soit Zlib (pour une compression Zlib), soit rien pour aucune compression.
Ca peux etre possible en effet :)
10 juil. 2008 à 17:16
Pas sûr d'avoir compris... Heureusement que la parenthèse qui suit m'éclaire...
Mais rassure moi... cette classe permet bien d'envoyer des pièces jointes, hein ?
Donc on peut attacher des images auxquelles ont fait référence dans le mail HTML non ?
Pour ce qui est de la compression, je pense que ça peut être bien, aussi...
La décision de compresser est à la discrétion de l'expéditeur... Si je veux envoyer plusieurs pièces jointes et que je veux les zipper, parce que c'est ce que j'ai convenu par téléphone avec le destinataire, ça peut être sympa.
Si en plus on peut mettre en pièce jointe un fichier distant, c'est encore plus super (c'est pas forcément intéressant pour un mailer comme Thunderbird, Outlook, etc, mais pour un mailer en ligne, ça permet d'envoyer des fichiers sans avoir besoin de les télécharger, les enregistrer, les ajouter...)
C'est pas que ces fonctionnalités sont indispensables, hein... Juste que de pouvoir le faire en cochant une simple case à cocher (au niveau du contrôleur), ça fait toujours plaisir...
10 juil. 2008 à 17:12
Elle est tellement légère que c'est pour sa que me demandait si le coup d'ajouter la compression c'était pas l'alourdir pour rien.
10 juil. 2008 à 17:09
10 juil. 2008 à 17:08
Des sources d'email, sur phpCS, j'en ai vu quelques unes (toi aussi je pense). Et là, je trouve qu'on atteint une sorte de sommet. On peut sûrement rajouter des trucs, mais sincèrement... Quand j'ai lu ça :
_ simple (un texte)
_ alternative (différentes versions d'un texte (plain et html généralement))
_ mixed simple (un texte et n pièces jointes (avec n > 0))
_ mixed alternative (différentes versions d'un texte avec n pièces jointes)
Associé à l'auteur, j'ai tout de suite compris que c'était de l'inédit sur phpcs... Ca pourrait être, à mon avis, une référence en matière de source d'email.
Et j'en profite pour noter, parce que quand même...
10 juil. 2008 à 17:03
Je ne l'ai pas précisé mais cette classe ne permet pas d'envoyer des documents avec des pièces jointes attachée au document (des images du document html par exemple).
Pour la compression c'est pas une mauvaise idée mais comment tu fait ? parce que si je les compresses en zip/tgz/bgz, le client devra forcément les décompresser, ce qui n'est pas forcément dans l'envie de l'émetteur de compresser les documents ?
10 juil. 2008 à 16:47
C'est tout simple à utiliser, c'est propre, c'est fonctionnel... Que du bon quoi :D
Sa mérite une bonne note sa ;)
A la limite tu peu même t'amuser à intégrer un système de compression en option pour les pièces jointes, c'est la cerise sur le gâteau, à voir si sa l'alourdirai trop ou non ^^
10 juil. 2008 à 13:31
Ton commentaire fait plaisir :)
En fait je l'ai codé hier pour les besoins de la boite dans laquelle je suis et d'apres les premiers tests effectués, ca à l'air de fonctionner ! :)
10 juil. 2008 à 13:00
Dis donc... Ca a l'air plutôt pas mal tout ça !
Forcément, c'est propre, joli à regarder, lisible et compréhensible... Forcément, c'est facile à réutiliser, etc...
Euh je suis pas sûr d'avoir des critiques négatives à faire...
Je vais pas pouvoir tester, donc pour le débogage et un éventuel retour pour des améliorations possibles, je ne suis pas en mesure d'apporter ça...
En tout cas, c'est très très complet, et ça change des sources d'envoi de mails qu'on trouve habituellement. Chapeau donc pour cette exhaustivité !