Le lien Mailto utilisant la propriété calculée ne charge pas le corps complet du message
P粉811349112
P粉811349112 2023-12-07 19:05:55
0
1
624

Le lien mailto charge correctement les destinataires et le sujet, mais semble tronquer le corps de l'e-mail à une longueur très courte. Mon e-mail contient un total de 1 500 caractères, il est donc inférieur à la limite mailto. Le corps de l'e-mail semble tronqué à environ 200 caractères.

J'ajoute une propriété calculée à la chaîne mailto car j'utilise un package appelé "marked.js" qui analyse les entrées de l'utilisateur dans markdown/html.

Comment puis-je résoudre ce problème ? J'ai essayé de définir le nouvel attribut de données sur "emailFormat" et d'exécuter le corps de l'e-mail via le package balisé lors de l'installation de la page, puis de le définir sur l'attribut de données. Je pensais que cela résoudrait le problème car maintenant j'ajoute simplement une chaîne au corps du mailto, mais cela ne fonctionne pas et je reçois toujours un corps de courrier incomplet.

Propriétés calculées qui reçoivent des données de réponse API et s'exécutent via des packages balisés

letterContentToHtml() {
                if (this.formData.letterContent != null) {
                    return marked(this.formData.letterContent); // marked is package to parse user input to markdown/html. 
                }
                else {
                    return null;
                }
            },

Section Modèle affichant le contenu et le bouton contenant mailto href

<p class="email-content-data" v-html="letterContentToHtml"></p>
<v-btn class="send-form-btn"
            :disabled="!campaignFormValid || this.emailRecepients == ''"
            elevation="12"
            color="primary"
            target="_blank" 
            :href="mailToString"
            @click="updateCampaignList">
                Send Email!
        </v-btn>

mailto propriété calculée

mailToString() {
                return "mailto:"+this.formData.emailList+"?subject="+this.formData.subject+"&body="+this.emailContent;
            },

P粉811349112
P粉811349112

répondre à tous(1)
P粉388945432

Vous devez encoder l'URL des données avant de les attribuer à l'attribut HREF de la balise hyperlien/ancre :

mailToString()
{
  return "mailto:" + encodeURIComponent(this.formData.emailList) + "?subject=" + encodeURIComponent(this.formData.subject) + "&body=" + encodeURIComponent(this.emailContent);
},

Sinon, cela pourrait interférer avec certains caractères réservés, tels que ?=& ou certains caractères Unicode.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal