Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mailto avec pj

23 réponses
Avatar
bpdu92
bonsoir les experts
je voudrais envoyer un mail avec PJ deouis une page Web
voici mon code :
<FORM action="mailto:nom@FAI.fr" enctype="multipart/form-data"
method="post" >
<INPUT type="file" name="monFichier" >
<input type="submit" value="Envoyer le mail avec pj" >
</FORM>

avec IE8, le destinataire reçoit le mail, mais
avec un fichier attaché POSTDATA.ATT au lieu du fichier indiqué

avec FireFox et Chrome, le mailer est lancé sans la pj,
qu'il faut donc rajouter à la main,
comme si type='file' n'avait servi à rien

une solution HTML pour au moins 1 des navigateurs
sinon avec JavaScript ?
merci d'avance

10 réponses

1 2 3
Avatar
Olivier Miakinen
Bonjour,

Le 16/09/2010 11:18, bpdu92 a écrit :

je voudrais envoyer un mail avec PJ depuis une page Web
voici mon code :
<FORM action="mailto:" enctype="multipart/form-data"
method="post" >
<INPUT type="file" name="monFichier" >
<input type="submit" value="Envoyer le mail avec pj" >
</FORM>



Ah ? Même si c'était possible, ça ne me semble pas une très bonne idée.
Puisque c'est fait à partir d'un site web, pourquoi ne pas envoyer le
fichier directement au site, en binaire, plutôt que de le forcer à
passer en Base64 si c'est du binaire, et de le multiplier par le nombre
de passerelles traversées ?

avec IE8, le destinataire reçoit le mail, mais
avec un fichier attaché POSTDATA.ATT au lieu du fichier indiqué



Tu ne précises pas quel courrielleur est appelé par IE8. Il faut
pourtant qu'ils puissent s'entendre l'un et l'autre sur un moyen de
préciser le nom et le contenu d'une éventuelle pièce jointe ! Je ne
crois d'ailleurs pas que ce genre de passage de relais ait été normalisé
dans un quelconque document.

avec FireFox et Chrome, le mailer est lancé sans la pj,
qu'il faut donc rajouter à la main,
comme si type='file' n'avait servi à rien



Ben oui. Ça me semble le comportement le plus vraisemblable.

une solution HTML pour au moins 1 des navigateurs
sinon avec JavaScript ?



Une solution consisterait à transférer le fichier vers le serveur et à
demander au serveur d'envoyer lui-même le courriel, mais encore une fois
ça me semblerait une mauvaise idée.

Prenons l'exemple d'un fichier de 30 kio. Envoyé par HTTP, tu transfères
30 kio (à quelques octets ou dizaines d'octets près pour les entêtes
HTTP). Envoyé par courriel, en supposant qu'il va de ta machine à ton
FAI, de là au FAI du destinataire, puis à la machine du destinataire, ce
sont 30×4/3 = 40 kio (transformation en Base64), qui sont transférés
trois fois, et stockés trois fois, soit donc 120 kio au total.

Et bien sûr, s'il faut passer par un ou plusieurs serveurs de courriel
intermédiaires, ça en fait encore plus.

Bref... mauvaise idée, changer d'idée. ©

Cordialement,
--
Olivier Miakinen
Avatar
SAM
Le 16/09/10 23:38, Olivier Miakinen a écrit :
Bonjour,

Le 16/09/2010 11:18, bpdu92 a écrit :

je voudrais envoyer un mail avec PJ depuis une page Web
voici mon code :
<FORM action="mailto:" enctype="multipart/form-data"
method="post">
<INPUT type="file" name="monFichier">
<input type="submit" value="Envoyer le mail avec pj">
</FORM>



Ah ? Même si c'était possible,



Au siècle dernier ça a eu fonctionné.
(en cherchant dans mes vieux DD je devrais retrouver un "cours de html"
donnant un tel exemple)

<http://www.w3.org/TR/html401/interact/forms.html#adef-enctype>

ça ne me semble pas une très bonne idée.
Puisque c'est fait à partir d'un site web, pourquoi ne pas envoyer le
fichier directement au site, en binaire,



Là ... je sais pas de quoi tu causes.
(par exemple en pages perso chez Orange tu n'as pas accès à du code côté
serveur)

plutôt que de le forcer à
passer en Base64 si c'est du binaire, et de le multiplier par le nombre
de passerelles traversées ?



Le mieux est d'utiliser le formulaire proposé par l'hébergeur (tous les
hébergeurs proposent un tel formulaire qui envoie dans sa BAL et sans
indiquer en clair son adresse !)

avec IE8, le destinataire reçoit le mail, mais
avec un fichier attaché POSTDATA.ATT au lieu du fichier indiqué



Tu ne précises pas quel courrielleur est appelé par IE8. Il faut
pourtant qu'ils puissent s'entendre l'un et l'autre sur un moyen de
préciser le nom et le contenu d'une éventuelle pièce jointe ! Je ne
crois d'ailleurs pas que ce genre de passage de relais ait été normalisé
dans un quelconque document.



Ben ... plus ou moins ... par le enctype, non ?

avec FireFox et Chrome, le mailer est lancé sans la pj,
qu'il faut donc rajouter à la main,
comme si type='file' n'avait servi à rien





à force de bloquer pour raisons de sécurité on peut faire de - en - de
choses avec ce "file"
Et de ttes façons, en post, tu es censé ne rien voir de que le
formulaire envoie.

Ben oui. Ça me semble le comportement le plus vraisemblable.



normalement le "enc-type" était là pour esspliquer quoi faire ...
les laboureurs (web) et semeuses (mail) d'antant savaient utiliser ce
charroi
(enfin ... je crois que je l'avais expérimenté)

une solution HTML pour au moins 1 des navigateurs





Le formulaire proposé par l'hébergeur ! !
Par exemple chez Orange :
<http://stephane.moriaux.pagesperso-orange.fr/contact>
ou, détourné :
<http://stephane.moriaux.pagesperso-orange.fr/internet/web_html/calcul/calc_1/tlc_calcul_1.htm>
Pas d'exemple de pièce jointe, ma BAL n'est une BAO (boite à ordures)

sinon avec JavaScript ?





Non, pas pour le "file", pas possible, trop dangereux qu'ils disent !

Une solution consisterait à transférer le fichier vers le serveur et à
demander au serveur d'envoyer lui-même le courriel, mais encore une fois
ça me semblerait une mauvaise idée.


(...)
Bref... mauvaise idée, changer d'idée. ©



??? pisky veut envoyer un mail !
(offrir au visiteur de "lui" envoyer un fichier)
(... dans sa BAO, à cause de l'anti-spam)



--
Stéphane Moriaux avec/with iMac-intel
Avatar
Olivier Miakinen
Bonjour,

Le 17/09/2010 02:09, SAM a écrit :

je voudrais envoyer un mail avec PJ depuis une page Web
voici mon code :
<FORM action="mailto:" enctype="multipart/form-data"
method="post">
<INPUT type="file" name="monFichier">
<input type="submit" value="Envoyer le mail avec pj">
</FORM>



Ah ? Même si c'était possible,



Au siècle dernier ça a eu fonctionné.
(en cherchant dans mes vieux DD je devrais retrouver un "cours de html"
donnant un tel exemple)



Comment crois-tu qu'un navigateur sache commander à n'importe quel type
de courrielleur (de Mutt à IncrediMail) d'envoyer une pièce jointe ?

Le schéma mailto: définit une façon de spécifier des entêtes, et un
corps en mode texte via le pseudo-entête « body », mais rien pour des
attachements. Cf. <http://tools.ietf.org/html/rfc2368>.

<http://www.w3.org/TR/html401/interact/forms.html#adef-enctype>



Ceci est défini pour la méthode "post", mais ne définit en rien une
méthode "mail" !

ça ne me semble pas une très bonne idée.
Puisque c'est fait à partir d'un site web, pourquoi ne pas envoyer le
fichier directement au site, en binaire,



Là ... je sais pas de quoi tu causes.
(par exemple en pages perso chez Orange tu n'as pas accès à du code côté
serveur)



Je cause de HTTP, et tu dis toi-même plus loin que ce code existe en
prémaché par Orange (je te cite : « Le formulaire proposé par
l'hébergeur ! Par exemple chez Orange [etc] »)

plutôt que de le forcer à
passer en Base64 si c'est du binaire, et de le multiplier par le nombre
de passerelles traversées ?



Le mieux est d'utiliser le formulaire proposé par l'hébergeur (tous les
hébergeurs proposent un tel formulaire qui envoie dans sa BAL et sans
indiquer en clair son adresse !)



Nous sommes donc d'accord.

avec IE8, le destinataire reçoit le mail, mais
avec un fichier attaché POSTDATA.ATT au lieu du fichier indiqué



Tu ne précises pas quel courrielleur est appelé par IE8. Il faut
pourtant qu'ils puissent s'entendre l'un et l'autre sur un moyen de
préciser le nom et le contenu d'une éventuelle pièce jointe ! Je ne
crois d'ailleurs pas que ce genre de passage de relais ait été normalisé
dans un quelconque document.



Ben ... plus ou moins ... par le enctype, non ?



Non, cf. plus haut.

avec FireFox et Chrome, le mailer est lancé sans la pj,
qu'il faut donc rajouter à la main,
comme si type='file' n'avait servi à rien





à force de bloquer pour raisons de sécurité on peut faire de - en - de
choses avec ce "file"



Il n'est absolument pas question de « raisons de sécurité » ici.

Il est juste question du fait que rien n'est défini pour permettre à un
navigateur et un courrielleur de parler la même langue quand il s'agit
de s'échanger une pièce jointe.

Et de ttes façons, en post, tu es censé ne rien voir de que le
formulaire envoie.



Exactement : « en post », ça veut dire http ou https, pas mailto.


Cordialement,
--
Olivier Miakinen
Avatar
SAM
Le 17/09/10 10:31, Olivier Miakinen a écrit :
Bonjour,

Le 17/09/2010 02:09, SAM a écrit :

je voudrais envoyer un mail avec PJ depuis une page Web
voici mon code :
<FORM action="mailto:" enctype="multipart/form-data"
method="post">
<INPUT type="file" name="monFichier">
<input type="submit" value="Envoyer le mail avec pj">
</FORM>



Ah ? Même si c'était possible,



Au siècle dernier ça a eu fonctionné.
(en cherchant dans mes vieux DD je devrais retrouver un "cours de html"
donnant un tel exemple)



Comment crois-tu qu'un navigateur sache commander à n'importe quel type
de courrielleur (de Mutt à IncrediMail) d'envoyer une pièce jointe ?



Ça j'en sais rien de rien !
Je ne comprends même pas comment un écran peut montrer des lettres que
je tape sur un clavier ... alors ... les échanges entre logiciels ... tu
penses ! ?

Le schéma mailto: définit une façon de spécifier des entêtes, et un
corps en mode texte via le pseudo-entête « body », mais rien pour des
attachements. Cf.<http://tools.ietf.org/html/rfc2368>.



La "norme" n'était peut-être pas sortie à l'époque ?
C'était + facile, il n'y avait pas flopée de trucs pour Internet ?
Netscape qui faisait aussi mail savait se causer à lui-même ?
IE / OL ... ils ont touj fait des choses étranges.

Toujours est-il qu'aujourd'hui ça ne fonctionne pas, point.

Le mieux est d'utiliser le formulaire proposé par l'hébergeur (tous les
hébergeurs proposent un tel formulaire qui envoie dans sa BAL et sans
indiquer en clair son adresse !)



Nous sommes donc d'accord.



Finalement ... voui.

Je voulais juste dire que j'ai idée qu'à une époque ça eut eu fonctionné.
(et préciser pour formulaire hébergeur)


--
Stéphane Moriaux avec/with iMac-intel
Avatar
bpdu92
On Fri, 17 Sep 2010 10:31:14 +0200, Olivier Miakinen
<om+ wrote:

Bonjour,



....
Exactement : « en post », ça veut dire http ou https, pas mailto.


je retiens des tes aimables indications :
-mailto incompatible avec input type=file,
bien que pas dit explicitement dans le std
-si on veut envoyer un file, faut le faire en http, vers un cgi

j'ai donc mis une indication sur mon site,
demandant d'utiliser Firefox, qui -lui- affiche le mailer,
dans lequel l'utilisateur doit inserer à la main l'éventuel
fichier à transmettre

remarque (faire un post specifique ?) : le mail généré par Firefox
contient des carateres parasites ?
ce qui n'est pas le cas avec IE8 ?


Cordialement,


au plaisir
Avatar
SAM
Le 20/09/10 03:37, bpdu92 a écrit :

remarque (faire un post specifique ?) : le mail généré par Firefox
contient des carateres parasites ?



Pas vu en local,
mais peut-être
- ai-je mis le doctype ?
- ai-je spécifié le charset (meta) ?
- je ne suis pas sous Windows

ce qui n'est pas le cas avec IE8 ?



Je ne connais pas ces curiosités, IE koitesse ?

voir le charset de la page et celui envoyé par le serveur
(doivent être les mêmes et idem pour le meta, si meta il y a, ce qui est
mieux pour tests locaux)

ceci dit, et pour ne pas me répéter :
- emploie le formulaire fourni par ton hébergeur
- cerise : ton adresse mail devrait ne pas être divulguée
- avantage : ça fonctionne avec tout navigateuur
- problème : on ne choisit pas la BAL où envoyer

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Olivier Miakinen
Bonjour,

Le 20/09/2010 03:37, bpdu92 a écrit :
....
Exactement : « en post », ça veut dire http ou https, pas mailto.


je retiens des tes aimables indications :
-mailto incompatible avec input type=file,
bien que pas dit explicitement dans le std



La norme dit ceci :

<http://www.la-grange.net/w3c/html4.01/interact/forms.html#adef-action>
action = uri [CT]
Cet attribut spécifie l'agent pour le traitement du formulaire. Le
comportement de l'agent utilisateur pour une valeur autre qu'un URI HTTP
est indéfini.
</>

À mon sens, il est dit très explicitement que cette norme ne définit
rien pour un URI MAILTO, ce quels que soient les types d'INPUT.

-si on veut envoyer un file, faut le faire en http, vers un cgi



Oui. Non seulement le protocole est alors complètement défini, mais
aussi et surtout cela évite de faire transiter des gros fichiers par
courriel, là où la consommation de ressources est augmentée de plus de
100 %.

j'ai donc mis une indication sur mon site,
demandant d'utiliser Firefox, qui -lui- affiche le mailer,
dans lequel l'utilisateur doit inserer à la main l'éventuel
fichier à transmettre



J'ai du mal à comprendre le lien de cause à effet (« donc ») entre « il
vaut mieux éviter d'utiliser le courriel » et « il vaut mieux que ce
soit Firefox qui lance le courrielleur ». ;-)

remarque (faire un post specifique ?) : le mail généré par Firefox
contient des carateres parasites ?
ce qui n'est pas le cas avec IE8 ?



Il faut que tu sois plus explicite, car à ma connaissance Firefox ne
génère aucun mail. Donc soit c'est le courrielleur utilisé qui met des
caractères parasites (où ? lesquels ?), soit c'est Firefox qui transmet
des caractères parasites, que tu devrais voir dans l'éditeur de message
avant génération d'un quelconque mail.

Cordialement,
--
Olivier Miakinen
Avatar
bpdu92
On Mon, 20 Sep 2010 11:48:10 +0200, SAM
wrote:

Le 20/09/10 03:37, bpdu92 a écrit :

remarque (faire un post specifique ?) : le mail généré par Firefox
contient des carateres parasites ?



Pas vu en local,
mais peut-être
- ai-je mis le doctype ?


je l'ai mis aussi, ne change rien
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
- ai-je spécifié le charset (meta) ?


idem
- je ne suis pas sous Windows


IE8 genere le mail sans pb, c'est FF qui met des parasites, soit
�nom�= , au lieu de nom �prenom�=
�adresse�=

alors docteur ?


ce qui n'est pas le cas avec IE8 ?


Je ne connais pas ces curiosités, IE koitesse ?


un truc que je trouve plus ergonomique que FF
-selection simple pour imprimer
-tlchgt la ou je veux
-tri des favoris en 1 clic
-nombreuses fonctions de securité
-...


ceci dit, et pour ne pas me répéter :
- emploie le formulaire fourni par ton hébergeur


trop compliqué, voir http://forum.ovh.com/showthread.php?tr76

ya aussi un envoi de formulaire payant, voir
http://www.raynette.fr/script-pro/formulaire-formmail/demo.php
avec pj, controles divers

- cerise : ton adresse mail devrait ne pas être divulguée


ok

- avantage : ça fonctionne avec tout navigateuur


ben non, voir mes posts ert ci-dessus, IE et FF pas pareils

- problème : on ne choisit pas la BAL où envoyer


normal, le destinataire principal est l'administrateur du site;
tu penses à d'eventuelles copies à d'autres personnes,
l'emetteur lui-même par ex ?

au plaisir de te lire
B
Avatar
bpdu92
On Mon, 20 Sep 2010 22:26:40 +0200, Olivier Miakinen
<om+ wrote:

Bonjour,

Le 20/09/2010 03:37, bpdu92 a écrit :
....
Exactement : « en post », ça veut dire http ou https, pas mailto.


je retiens des tes aimables indications :
-mailto incompatible avec input type=file,
bien que pas dit explicitement dans le std



La norme dit ceci :

<http://www.la-grange.net/w3c/html4.01/interact/forms.html#adef-action>
action = uri [CT]
Cet attribut spécifie l'agent pour le traitement du formulaire. Le
comportement de l'agent utilisateur pour une valeur autre qu'un URI HTTP
est indéfini.
</>

À mon sens, il est dit très explicitement que cette norme ne définit
rien pour un URI MAILTO, ce quels que soient les types d'INPUT.


ok, j'avais simplt recherché mailto, sans succés

-si on veut envoyer un file, faut le faire en http, vers un cgi



Oui. Non seulement le protocole est alors complètement défini, mais
aussi et surtout cela évite de faire transiter des gros fichiers par
courriel, là où la consommation de ressources est augmentée de plus de
100 %.


ok, mais oblige à faire transiter des connaissances PHP

j'ai donc mis une indication sur mon site,
demandant d'utiliser Firefox, qui -lui- affiche le mailer,
dans lequel l'utilisateur doit inserer à la main l'éventuel
fichier à transmettre



J'ai du mal à comprendre le lien de cause à effet (« donc ») entre « il
vaut mieux éviter d'utiliser le courriel » et « il vaut mieux que ce
soit Firefox qui lance le courrielleur ». ;-)


ben je reformule :
1-pouvoir envoyer un mail est indispensable sur mon site
2-si l'internaute veut joindre des pieces (CV, photo,..)
FireFox le permet
plus clair ?


remarque (faire un post specifique ?) : le mail généré par Firefox
contient des carateres parasites ?
ce qui n'est pas le cas avec IE8 ?



Il faut que tu sois plus explicite, car à ma connaissance Firefox ne
génère aucun mail.


en effet, il lance Outlook avec adresse du destinataire ET texte
pré-rempli

Donc soit c'est le courrielleur utilisé qui met des
caractères parasites (où ? lesquels ?),


ex du contenu de la zone texte (déjà dit dans réponse à SAM)
�nom�= au lieu de nom
�prenom�=
�adresse�=
ou directement sur le site http://www.actionseniorscadres.fr/
clique sur mailbp avec FF
et à ta dispo pour ajouter un mailomakinen

soit c'est Firefox qui transmet
des caractères parasites, que tu devrais voir dans l'éditeur de message
avant génération d'un quelconque mail.


faut tracer le dialogue entre FF et OL2007 ? on fait comment ?

Cordialement,


merci d'avance
Avatar
Chrissss
bpdu92 a écrit :
On Mon, 20 Sep 2010 22:26:40 +0200, Olivier Miakinen
<om+ wrote:

Bonjour,

Le 20/09/2010 03:37, bpdu92 a écrit :

La norme dit ceci :

<http://www.la-grange.net/w3c/html4.01/interact/forms.html#adef-action>
action = uri [CT]
Cet attribut spécifie l'agent pour le traitement du formulaire. Le
comportement de l'agent utilisateur pour une valeur autre qu'un URI HTTP
est indéfini.
</>

À mon sens, il est dit très explicitement que cette norme ne définit
rien pour un URI MAILTO, ce quels que soient les types d'INPUT. ok, j'avais
simplt recherché mailto, sans succés

Oui. Non seulement le protocole est alors complètement défini, mais
aussi et surtout cela évite de faire transiter des gros fichiers par
courriel, là où la consommation de ressources est augmentée de plus de
100 %. ok, mais oblige à faire transiter des connaissances PHP

J'ai du mal à comprendre le lien de cause à effet (« donc ») entre « il
vaut mieux éviter d'utiliser le courriel » et « il vaut mieux que ce
soit Firefox qui lance le courrielleur ». ;-)


ben je reformule :
1-pouvoir envoyer un mail est indispensable sur mon site
2-si l'internaute veut joindre des pieces (CV, photo,..)
FireFox le permet
plus clair ?


Il faut que tu sois plus explicite, car à ma connaissance Firefox ne
génère aucun mail.


en effet, il lance Outlook avec adresse du destinataire ET texte
pré-rempli

Donc soit c'est le courrielleur utilisé qui met des
caractères parasites (où ? lesquels ?),


ex du contenu de la zone texte (déjà dit dans réponse à SAM)
�nom�= au lieu de nom
�prenom�=
�adresse�=
ou directement sur le site http://www.actionseniorscadres.fr/
clique sur mailbp avec FF
et à ta dispo pour ajouter un mailomakinen

soit c'est Firefox qui transmet
des caractères parasites, que tu devrais voir dans l'éditeur de message
avant génération d'un quelconque mail.


faut tracer le dialogue entre FF et OL2007 ? on fait comment ?

Cordialement,


merci d'avance



as tu été voir dans les modules complémentaires de FF... peut être un
qui ferait ton bonheur.

https://addons.mozilla.org/fr/firefox/search/?q=e+mail&cat=all&lver=any&pid=1&sort=&pp &lup=&advanced
--
"L'ignorance et la peur, voilà les deux pivots de toute religion."
(Paul-Henri, baron d’Holbach / 1723-1789)
1 2 3