|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Bonjour à tous.
Introduction Je vous propose une classe pour l'envoi d'Emails. Fonctionnalités Cette classe supporte - La définition du sender (from) - Les mails multipart - Les pièces-jointes - Le HTML - L'envoi multiple (to) - La définition arbitraire de headers Son code vous est disponible en pièce jointe de ce post. Comment l'utiliser Code :
Note: il est bien sûr entendu que vous devez disposer d'un serveur d'envoi de mail sur votre plateforme pour faire fonctionner cette classe correctement. Note: le fait que la méthode Mail::send renvoie true ne signifie pas que le mail à été correctement délivré mais bien qu'il à été accepté pour livraison. Voir: http://php.net/manual/fr/function.mail.php
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 958 ![]() |
Hello,
Tu devrais faire un méthode pour vérifier le mail (puisque tu fais plusieur fois le filter_var) tu peux aussi rajouter un checkdsnrr pour le domaine Sinon y'a les entetes X-Unsubscribe-Web X-Unsubscribe-Email, qui sont pratiques pour les mailings. EDIT 1 : pour le HEADER_DATE je ferait plus : Code :
pourquoi faire ligne par ligne ? ton fichier pour faire 1Go sur une seul ligne pour le MIME tu peux utilise mime_content_type ou fileinfo si y'a possibilité
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#3 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Citation:
Citation:
A quoi servent-ils ? Pour l'usage de SplFileObject, je vais remplacer ça par un bon vieux file_get_contents. Quand à la validation, je vais essayer quelque chose Merci pour ton retour.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 958 ![]() |
Citation:
Citation:
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#5 | |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Citation:
Pour ce qui est du check dsn pour le domaine, je garde ça dans un coin de ma tête pour plus tard car la fonction n'est pas disponible sous Windows en PHP 5.2 (et les bidouillages pour l'implémenter malgré tout utilisent exec, ce que j'aimerais éviter...) J'ai mis à jour le post original avec tes recommandations.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
|
00
|
|
|
#6 | ||||
![]() ![]() Inscription : septembre 2010 Messages : 7 958 ![]() |
non fileinfo est dispo depuis PHP 5.0, c'est juste qui a été intégré au trunk a partir pour la 5.3, rien ne t’émèche de faire un check pour voir si il est la ou pas, idem pour le checkdsnrr, tu ne prives personne dans ce cas là
EDIT : exemple de validation email Code :
Code :
Code :
$filename = @array_pop(explode('/', $path));
__________________
http://blog.stealth35.com/ |
||||
|
|
10
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Damn, j'avais oublié basename. J'irai me flageller avec des orties
![]() Tu as raison pour la validation mail et le content type, on aurait tord de s'en priver s'ils sont disponibles.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 958 ![]() |
t'as oublié le _validateEmail dans le __construct
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Ouais mais c'est parce que quand j'ai bu, je code vraiment mal
Ceci étant corrigé, on arrive à quelque chose de pas trop mal je trouve. Qu'est ce que tu en pense ? Mis à part le fait d'avoir créé une n-ième classe de mail... J'ai voulu créer la mienne pour découvrir comment faire des mails multipart et aussi parce que je n'aime pas créer un projet qui se résume à un patchwork de librairies existantes et hétérogènes.
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 958 ![]() |
ca m'a l'air pas mal, c'est tout simple donc c'est bien
sinon j'ai regarder un peux ton projet, et je vois pas pour dans ton autoload tu fait un include_once, vue que t'as pas de namespace, l'autoload classqie suffit, au pire fait spl_autoload
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
J'y ai pensé mais je veux pouvoir arrêter l'autoloader, ou le paramétrer différemment dans le futur.
On reparlera des
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|
00
|
|
|
#12 | |
|
Expert Confirmé
![]() ![]() Alain Inscription : septembre 2010 Messages : 1 917 ![]() |
Avec un fichier joint non valide, j'obtiens
Citation:
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
|
00
|
|
|
#13 | |||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 897 ![]() |
Ah oui c'est une autre classe de mon composant. Voici le code:
Code :
Citation:
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
|||
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() ![]() Alain Inscription : septembre 2010 Messages : 1 917 ![]() |
C'est pas clair. Tu donne un fichier et un exemple d'utilisation. L'un plus l'autre devraient fonctionner sans que l'on ait à se poser d'autres questions. Il faudrait donc que ton fichier Mail.php soit autonome.
Sinon pour l'image et bien comme je viens de le dire j'ai simplement utilisé ton code Mail.php avec ton exemple d'utilisation. Donc j'ai gardé le code de l'exemple $mail->addAttachment('file.jpg', 'image/jpeg'); en remplaçant "file.jpg" par un chemin de fichier image .jpg valide.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com