Discussion:
mail() + PJ
(trop ancien pour répondre)
Le Fou
2010-03-09 22:52:32 UTC
Permalink
Bonjour,

Sur un de mes sites j'ai un formulaire qui permet d'envoyer un message à
mon adresse e-mail via un script PHP utilisant la fonction mail().

J'aimerais que les internautes puissent joindre un fichier (image) de
leur disque dur à ce message.
Or tous les scripts que j'ai trouvés, se contentent d'uploader le
fichier image sur le serveur du site...

Connaissez-vous un script qui récupère le fichier sur le disque de
l'internaute et l'envoie en pièce jointe à une adresse e-mail ?

Merci.
--
A' tchao

Le Fou
http://shippylelivre.free.fr/
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/
Le Fou
2010-03-13 01:07:33 UTC
Permalink
Post by Le Fou
Bonjour,
Sur un de mes sites j'ai un formulaire qui permet d'envoyer un message à
mon adresse e-mail via un script PHP utilisant la fonction mail().
J'aimerais que les internautes puissent joindre un fichier (image) de
leur disque dur à ce message.
Or tous les scripts que j'ai trouvés, se contentent d'uploader le
fichier image sur le serveur du site...
Connaissez-vous un script qui récupère le fichier sur le disque de
l'internaute et l'envoie en pièce jointe à une adresse e-mail ?
Merci.
Ce genre de script n'existerait pas ????
--
A' tchao

Le Fou
http://shippylelivre.free.fr/
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/
Pascal
2010-03-13 01:07:33 UTC
Permalink
Post by Le Fou
Bonjour,
Bonjour,

Le choix du pseudo, c'est pour rassurer ? ;-)
Post by Le Fou
Sur un de mes sites j'ai un formulaire qui permet d'envoyer un message à
mon adresse e-mail via un script PHP utilisant la fonction mail().
Jusque-là, rien de mystérieux.
Post by Le Fou
J'aimerais que les internautes puissent joindre un fichier (image) de
leur disque dur à ce message.
Or tous les scripts que j'ai trouvés, se contentent d'uploader le
fichier image sur le serveur du site...
Ben oui, c'est le processus classique :

- Le fichier est chargé temporairement sur le serveur.
- Le script PHP de traitement incorpore le fichier à l'e-mail et envoie
ça à l'adresse passée, avec la fonction "mail()" ou autre.
- Entre temps, le script peut stocker le fichier où on veut.
Post by Le Fou
Connaissez-vous un script qui récupère le fichier sur le disque de
l'internaute et l'envoie en pièce jointe à une adresse e-mail ?
Là, il y a peut-être quelques problèmes d'interprétation.

D'abord, aucun script serveur ne peut "récupérer" un fichier "sur" un
poste client. Cela créerait de sérieux trous de sécurité.

Donc, au mieux, un premier script fabrique une page Web affichant le
formulaire demandant les coordonnées et le choix du fichier. Ensuite, un
deuxième script reçoit ces données et les traite comme il se doit.
Enfin, un dernier script confirme souvent l'interaction.

D'autre part, l'appellation "pièce jointe" est un peu trompeuse en
regard de son équivalent courrier, sauf à considérer que l'e-mail
correspond à l'enveloppe, et non pas à la lettre d'accompagnement.

En réalité, le fichier est le plus souvent incorporé dans le corps de
l'émail, avec un système de séparation de données basé sur des
délimiteurs (boundary) et les types MIME.
Mais il peut aussi s'exprimer sous forme de lien externe dans l'e-mail.
C'est le cas dans beaucoup de messages publicitaires ou de newsletters,
dont les fichiers image restent stockés sur un serveur HTTP. Ils sont
appelés au moment de la lecture de l'e-mail et font généralement l'objet
d'un message de sécurité autorisant ou non ce transfert.

Dans tous les cas, chaque e-mail envoyé par SMTP ne correspond qu'à un
seul fichier transféré. Il en est de même pour chaque e-mail reçu par
POP ou IMAP, car s'il y a des liens externes il faut un autre protocole
pour les récupérer (HTTP par ex.).

Pour répondre de façon plus concrète, il existe plusieurs bibliothèques
PHP permettant de gérer, pour les envois complexes d'e-mail, toutes les
fonctionnalités requises, comprenant entre autres :

- L'encodage des données.
- La génération de délimiteurs.
- La fusion des données dans le corps de l'e-mail.
- La génération d'entêtes additionnelles (copie, copie cachée, etc.).
- L'envoi successif à plusieurs destinataires.
- Le choix du système de messagerie sortante (mail(), sendmail, SMTP).

Pour ma part, j'ai déjà utilisé avec satisfaction cette bibliothèque :
http://phpmailer.worxware.com/index.php?pg=phpmailer
Mais je suis sûr qu'il y a des tas d'autres réponses avec une simple
recherche Google du type "php mail library" !
Post by Le Fou
Merci.
Cordialement,
Pascal
Le Fou
2010-03-13 21:40:08 UTC
Permalink
Post by Pascal
Le choix du pseudo, c'est pour rassurer ? ;-)
Le PHP me rend fou ;-)
Post by Pascal
(...)
Pour répondre de façon plus concrète, il existe plusieurs bibliothèques
PHP permettant de gérer, pour les envois complexes d'e-mail, toutes les
(...)
http://phpmailer.worxware.com/index.php?pg=phpmailer
Mais je suis sûr qu'il y a des tas d'autres réponses avec une simple
recherche Google du type "php mail library" !
Merci bien ! Je vais chercher de ce coté là.
--
A' tchao

Le Fou
http://shippylelivre.free.fr/
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/

=============== Note des modérateurs :
Merci de penser à rajouter .INVALID à la fin d'une adresse
invalide.
CrazyCat
2010-03-14 16:45:10 UTC
Permalink
Post by Pascal
http://phpmailer.worxware.com/index.php?pg=phpmailer
Mais je suis sûr qu'il y a des tas d'autres réponses avec une simple
recherche Google du type "php mail library" !
Tu peux aussi utiliser la toute petite classe que j'ai faite:
<http://www.g33k-zone.org/post/2009/10/05/Envoyer-un-email-html-avec-pi%C3%A8ce-jointe-en-PHP>
--
http://www.g33k-zone.org
http://www.zeolia.net
Pascal
2010-03-14 20:40:58 UTC
Permalink
Post by CrazyCat
<http://www.g33k-zone.org/post/2009/10/05/Envoyer-un-email-html-avec-pi%C3%A8ce-jointe-en-PHP>
J'ai jeté un oeil sur le code.
Bravo, c'est direct et efficace !
Largement suffisant pour beaucoup de projets.
L'utilisation et la réécriture sont totalement libres et tous usages ?

Cordialement,
Pascal
CrazyCat
2010-03-21 19:53:39 UTC
Permalink
Réponse fort tardive suite à de petites vacances :)
Post by Pascal
J'ai jeté un oeil sur le code.
Bravo, c'est direct et efficace !
Largement suffisant pour beaucoup de projets.
Merci
Post by Pascal
L'utilisation et la réécriture sont totalement libres et tous usages ?
Oui, bien sûr. Ce que je diffuse est fait pour être utilisé, adapté,
transformé.
--
http://www.g33k-zone.org
http://www.zeolia.net
Continuer la lecture sur narkive:
Loading...