<ahref="mailto:[email protected]?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>
Comme mentionné dans les commentaires, les deux subjectet bodydoivent être échappés correctement. À utiliser encodeURIComponent(subject)sur chacun, plutôt que de coder manuellement pour des cas spécifiques.
Comme Hoody l'a mentionné dans les commentaires, vous pouvez ajouter des sauts de ligne en ajoutant la séquence codée suivante dans la chaîne:
C'est entièrement spécifique au client. Dans le cas général, non.
tripleee
4
Juste à titre de référence: vous n'avez pas à htmlescape le sujet
Oscar Pérez
17
Notez que W3C requiert que vous encodiez votre chaîne en suivant ces règles: Les caractères doivent être représentés dans NFC et les espaces doivent être échappés en tant que% 20.
gordie
96
Au cas où quelqu'un d'autre se demanderait, vous pouvez également ajouter des sauts de ligne au corps en utilisant la séquence% 0D% 0A - cubetoon.com/2008/…
Le mailto:schéma d'URL est défini dans la RFC 2368 . De plus, la convention de codage des informations en URL et URI est définie dans RFC 1738 puis RFC 3986 . Ceux-ci prescrivent comment inclure les en body- subjecttêtes et dans une URL (URI):
Plus précisément, vous devez coder en pourcentage l'adresse e-mail, l'objet et le corps et les mettre dans le format ci-dessus. Le texte codé en pourcentage est légal pour une utilisation en HTML, mais cette URL doit être codée par entité pour une utilisation dans unhref attribut, conformément à la norme HTML4 :
Voici un exemple beaucoup plus approfondi pour savoir si votre e-mail contient une URL et que cette URL contient des éléments qui doivent être encodés: stackoverflow.com/questions/4744888/…
William Entriken
1
Je pense qu'il y a une faute de frappe dans la ligne $uri = ...: le &devant subjectdevrait être un?
jost21
24
Vous pouvez ajouter un objet ajouté à la commande mailto en utilisant l'une des méthodes suivantes. Ajoutez? Subject out mailto à la balise mailto.
<ahref="mailto:[email protected]?subject=testing out mailto">First Example</a>
Nous pouvons également ajouter du texte dans le corps du message en ajoutant & body à la fin de la balise, comme indiqué dans l'exemple ci-dessous.
<ahref="mailto:[email protected]?subject=testing out mailto&body=Just testing">Second Example</a>
En plus du corps, un utilisateur peut également taper & cc ou & bcc pour remplir les champs CC et BCC.
le + est-il nécessaire au lieu d'espaces? fonctionne bien sans sur gmail
SuperUberDuper
7
Oui:
Utilisez -le pour tester les éléments du formulaire mailto et l'encodage des liens.
Vous pouvez entrer le sujet, le corps (c'est-à-dire le contenu), etc. dans le formulaire, appuyer sur le bouton et voir le lien html mailto que vous pouvez coller dans votre page.
Vous pouvez même spécifier des éléments rarement connus et utilisés: cc, bcc, à partir de courriels.
Une fonctionnalité très utile de ce compositeur de champ href est également la possibilité de coder tous les caractères en hexadécimal (par exemple: [Test Zõne]devient %5BTest%20Z%C3%B5ne%5D, cela peut éviter certains robots indésirables).
Armfoot
Je veux dire, si vous choisissez d'encoder tous les caractères, ils sont tous convertis en notation HTML &#x(en évitant certains robots indésirables).
Notez qu'il n'est pas possible d'utiliser HTML dans le corps du message, selon la RFC 2368 :
Le hname spécial "body" indique que la valeur h associée est le corps du message. Le hname "body" doit contenir le contenu de la première partie texte / corps brut du message. L'URL mailto est principalement destinée à la génération de messages texte courts qui sont en fait le contenu du traitement automatique (tels que les messages "s'abonner" aux listes de diffusion), et non les corps MIME généraux.
La question est de savoir comment définir le sujet et le contenu. Il n'a pas mentionné le formatage. Bien que ce soit une chose utile à noter sur une réponse, vous avez laissé de côté ce qui est possible et comment y parvenir. Sans cela, c'est un commentaire, pas une réponse.
Quentin
Jure, j'apprécie vraiment que vous mettiez cela comme une réponse à cette question car c'est exactement ce que j'avais besoin de découvrir et que je me demandais. Donc, bien que Quentin pense que cela ne répond pas à la question OP, il répond à la mienne que je cherchais et qui a soulevé ce message. Merci beaucoup Jure!
user1567291
3
Voici un extrait exécutable pour vous aider à générer des liens mailto: avec un sujet et un corps facultatifs.
Si vous souhaitez ajouter du contenu html à votre e-mail, codez l'URL de votre code html pour le corps du message et incluez-le dans votre code de lien mailto, mais le problème est que vous ne pouvez pas définir le type d'e-mail à partir de ce lien du texte brut en html, le client utilisant le lien a besoin de son client de messagerie pour envoyer des e-mails html par défaut. Dans le cas où vous souhaitez tester, voici le code d'un lien mailto simple, avec une image enveloppée dans un lien (des URL de style angulaire ont été ajoutées pour la visibilité):
Pouvez-vous également publier un exemple où le corps <a href> a juste le href et un texte entre lui et la balise de fin? Merci
user1567291
<a href="<même que ci-dessus> "> Ceci est le texte du lien </a> @ user1567291
serdarsenay
Ça ne marche pas. Le client de messagerie affichera simplement toutes les balises html sous forme de texte au lieu de les traiter comme un document texte riche.
Réponses:
Oui, regardez tous les trucs et astuces avec mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm
Exemple d'objet mailto:
mailto avec contenu:
Comme mentionné dans les commentaires, les deux
subject
etbody
doivent être échappés correctement. À utiliserencodeURIComponent(subject)
sur chacun, plutôt que de coder manuellement pour des cas spécifiques.Comme Hoody l'a mentionné dans les commentaires, vous pouvez ajouter des sauts de ligne en ajoutant la séquence codée suivante dans la chaîne:
la source
vous pouvez utiliser ce code pour définir le sujet, le corps, le cc, le bcc
la source
Le
mailto:
schéma d'URL est défini dans la RFC 2368 . De plus, la convention de codage des informations en URL et URI est définie dans RFC 1738 puis RFC 3986 . Ceux-ci prescrivent comment inclure les enbody
-subject
têtes et dans une URL (URI):Plus précisément, vous devez coder en pourcentage l'adresse e-mail, l'objet et le corps et les mettre dans le format ci-dessus. Le texte codé en pourcentage est légal pour une utilisation en HTML, mais cette URL doit être codée par entité pour une utilisation dans un
href
attribut, conformément à la norme HTML4 :Et le plus généralement, voici un simple script PHP qui code selon ce qui précède.
la source
$uri = ...
: le&
devantsubject
devrait être un?
Vous pouvez ajouter un objet ajouté à la commande mailto en utilisant l'une des méthodes suivantes. Ajoutez? Subject out mailto à la balise mailto.
Nous pouvons également ajouter du texte dans le corps du message en ajoutant & body à la fin de la balise, comme indiqué dans l'exemple ci-dessous.
En plus du corps, un utilisateur peut également taper & cc ou & bcc pour remplir les champs CC et BCC.
Comment ajouter un sujet à la balise mailto
la source
J'ai créé un outil open source pour rendre cela facile. Entrez les chaînes que vous souhaitez et vous obtiendrez instantanément
mailto
:mailto.now.sh
la source
la source
subject
n'est pas du texte. C'est une table. Comment ajouter ça.Je l'ai divisé en lignes distinctes pour le rendre un peu plus lisible.
la source
voici l'astuce http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text
la source
Oui:
Utilisez -le pour tester les éléments du formulaire mailto et l'encodage des liens.
Vous pouvez entrer le sujet, le corps (c'est-à-dire le contenu), etc. dans le formulaire, appuyer sur le bouton et voir le lien html mailto que vous pouvez coller dans votre page.
Vous pouvez même spécifier des éléments rarement connus et utilisés: cc, bcc, à partir de courriels.
la source
[Test Zõne]
devient%5BTest%20Z%C3%B5ne%5D
, cela peut éviter certains robots indésirables).&#x
(en évitant certains robots indésirables).Oui, vous pouvez aimer ça:
la source
Notez qu'il n'est pas possible d'utiliser HTML dans le corps du message, selon la RFC 2368 :
Crédit: https://stackoverflow.com/a/13415988/1835519
la source
Voici un extrait exécutable pour vous aider à générer des liens mailto: avec un sujet et un corps facultatifs.
la source
Si vous souhaitez ajouter du contenu html à votre e-mail, codez l'URL de votre code html pour le corps du message et incluez-le dans votre code de lien mailto, mais le problème est que vous ne pouvez pas définir le type d'e-mail à partir de ce lien du texte brut en html, le client utilisant le lien a besoin de son client de messagerie pour envoyer des e-mails html par défaut. Dans le cas où vous souhaitez tester, voici le code d'un lien mailto simple, avec une image enveloppée dans un lien (des URL de style angulaire ont été ajoutées pour la visibilité):
Les balises html sont encodées en URL.
la source