EXMail
EXmail 2.0 est un classe PHP5 qui vous permettra de mettre en place un formulaire de contact sur votre site en quelques minutes, et ceci sans avoir à toucher à quelque code HTML que ce soit. Simple à mettre en place, il comporte néanmoins des fonctionnalités avancées pour les plus avertis d’entre vous. Voici un petit aperçu des possibilités d’EXmail 2 :
- Mise en place d’un formulaire de contact simple en moins de 5 minutes !
- Personnalisez le en mettant autant de champs que vous le désirez, sans avoir à faire de code HTML
- Gestion d’upload multiples
- Envoyez l’email à autant de contacts que vous le souhaitez
- Bénéficiant d’un moteur de template, personnalisez chaque formulaire selon vos envies
- Le template par défaut vous assure un code XHTML strict valide
- Son architecture lui permet d’être utilisé dans des scripts suivant le modèle MVC
- Le script est capable de gérer le « multilanguage »
- Envoyez l’email au format Text ou Html
- Possibilité d’ajouter un Captcha pour éviter tout spam sur votre formulaire
- Si la fonction mail() n’est pas supportée par votre hébergeur, le script peut être configuré pour utiliser un serveur SMTP
- Pour les plus avertis, vous pouvez étendre la classe pour ajouter de nouvelles fonctionnalités !
Système requis :
- PHP 5.1.3 Minimum (Merci Ishko pour la précision)
- Librairie GB (Facultatif, nécessaire pour le cryptogramme visuel)
Documentation : Voir la documentation d’EXMail 2



about 2 years ago
Salut,
j’essais d’installer le script, mais ca marche pas, je comprends rien :/
ca donne :
The server encountered an unexpected condition which prevented it from fulfilling the request.
The script had an error or it did not produce any output. If there was an error, you should be able to see it in the error log.
Pour tant mon serveur roule sous PHP Version 5.2.12, et GD Support is enabled.
J’ai rien touché, juste un copier/coller … ca marche pas.
Merci pour ton aide.
about 1 year ago
Bonjour,
J’essaie de mettre en place Exmail qui m’a l’air d’être un bon produit. Tout marche impec sauf que j’ai des backslash sur les mails reçus devant les apostrophes. J’utilise le format texte avec la fonction mail().
Que faut il que je rectifie afin que ce beau joujou soit parfait ?
Merci par avance pour tes conseils.
about 1 year ago
Bonjour,
La beta 3 est disponible et devrait corriger le problème.
Changelog Beta 3 :
- Ajout PHPDocs sur les méthodes de la class Exmail
- Modification de la méthode de validation des emails
- Modification de la méthode isEmpty
- Ajout de la méthode cleanMagicQuote permettant la compatibilité avec les serveurs avec les magic_quotes activés
- Compatibilité (suppression message Warning) avec PHP 5.3
Voilà
about 1 year ago
Bonsoir,
L’introduction de la méthode cleanMagicQuote a bien réglé le problème.
Merci pour ton investissement et pour les autres amélioration apportées.
PHPDoc semble en effet intéressant.
Il ne me reste plus qu’à me former dans la manipulation du Xml afin de pouvoir formater le message de l’email envoyé.
Encore merci et bravo pour cet utilitaire web.
about 1 year ago
Bonjour,
Super produit, installé en quelques minutes !
Toutefois, j’ai deux problèmes :
- Tous les formats (extensions) fonctionnent, mais si le visiteur met une extension en majuscule (JPG, au lieu de jpg), il a un message d’erreur mentionnant que son extension n’est pas valide.
- L’upload multiple ne fonctionne pas chez moi. Il me marque une erreur.
Voici le code :
$mail->addUpload(‘Photo 1′,$obligatory = true,$removed = true,$extentions = array(‘jpg’,'JPG’,'png’,'gif’,'bmp’));
$mail->addUpload(‘Photo 2′,$obligatory = false,$removed = true,$extentions = array(‘jpg’,'JPG’,'png’,'gif’,'bmp’));
J’ai tout essayé pour l’extension, l’indiquer dans le array, laisser le array vide, j’ai même rajouter les extensions en majuscule dans le PHPmailler.class
Pour l’envoi multiple, je pense que c’est un conflit des mêmes variables… (addupload… il aurait fallu peut-être addupload1, addupload2) , je voulais tenter de rajouter la fonction addupload2 dans le exmail2.class.php… mais est-ce que ça suffira ?? j’suis pas pro
about 1 year ago
EDIT :
L’envoi multiple fonctionne, seulement si le visiteur ajoute autant de fichier que de champs upload. Exemple : 2 upload = 2 images….
Si il met une seule image(ou fichier) alors qu’il y a deux upload possible, ça marche pas… (erreur : vous devez spécifier un fichier de téléchargement)
J’ai beau mettre à false 1 sur deux, mettre à false les deux, idem
Merci d’avance
about 1 year ago
EDIT 2 :
Toutes mes excuses pour ces trois posts. Enfin, ça peut servir à quelqu’un
J’ai trouvé !!!
))
Voici comment faire :
$mail->addUpload(‘Photo 1 (obligatoire): ‘,$obligatory = true,$removed = true,$extentions = array(‘jpg’,'JPG’,'png’,'gif’,'bmp’));
$mail->addUpload(‘Photo 2 (facultatif): ‘,$removed = true,$extentions = array(‘jpg’,'JPG’,'png’,'gif’,'bmp’));
Comme vous pouvez le constater, il suffit de retirer la variable « $obligatory » sur le champs non obligatoire !
Par contre, pour l’extension, toujours bloqué
about 1 year ago
Bonsoir David,
Désolé pour le retard de ma réponse. Pour le problème des extensions, il n’y a en fait aucun soucis… L’application gère très bien les majuscules et minuscules (même si la méthode n’est pas très classe j’avoue).
Par contre votre utilisation des méthodes « addUpload » est erronée. Vous ne devez pas écrire:
$mail->addUpload(‘Photo 1′,$obligatory = true,$removed = true,$extentions = array(‘jpg’,’JPG’,’png’,’gif’,’bmp’));
$mail->addUpload(‘Photo 2′,$obligatory = false,$removed = true,$extentions = array(‘jpg’,’JPG’,’png’,’gif’,’bmp’));
Je pense que vous avez confondu dans le documentation la présentation des paramètres des méthodes et l’utilisation de celle-ci… Si vous écrivez :
$mail->addUpload(‘Photo 1′,true,true,array(‘jpg’,’JPG’,’png’,’gif’,’bmp’));
$mail->addUpload(‘Photo 2′,false,true,array(‘jpg’,’JPG’,’png’,’gif’,’bmp’));
Je pense que cela fonctionnera bien mieux…
about 1 year ago
Bonjour,
Merci pour votre réponse, et pas d’inquiétude, je comprends parfaitement que vous ayez d’autres choses à faire
Effectivement, je n’ai pas essayé la méthode que vous spécifiez. Je vais essayer. J’ai du confondre ^_^
Merci beaucoup, et bravo pour votre travail.
Dave
about 6 months ago
Bonjour,
Formidable tout ça il me semble. SI je suis pas mal côté css, côté php je ne sais à peu près qu’insérer du code…
Malgré les commentaires et exemples précédents je n’arrive pas pas à faire un envoie de fichiers non obligatoire qui accepte les extensions en majuscule…
faut-il modifier 1 ou 2 fichiers ?
snif.
ensuite j’ai bien compris qu’on peut déterminer un nombre max de signes dans un champs, mais pour un nombre minimal ?
Si vous pouvez m’aider un grand merci,
Dominique
about 6 months ago
SUITE ….
Bien, en fait j’ai trouvé pour passer avec des extentions en Cap.
il faut aussi modifier le fichier exmail2.class.php à la ligne 453 et transformer ([a-z0-9]{1,4}) en ([A-Za-z0-9]{1,4})
et maintenant tout marche.
Merci pour ce beau exmail qui marche tout bien.
about 6 months ago
Bonjour, désolé pour la réponse tardive mais effectivement il y a un petit bug à ce niveau. Au niveau de la regex j’aurais plutôt fait ‘`(.*)\.([a-z0-9]{1,4})`i’ (Le i permet de dire que cela est in-sensitif à la casse).
Merci pour le signalement je vais essayer à l’occasion de refaire un check complet de ce petit script ça fait maintenant quelques années que je n’y ait pas touché quasiment