recherche

Maison  >  Questions et réponses  >  le corps du texte

Le lien Mailto utilisant la propriété calculée ne charge pas le corps complet du message

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粉811349112P粉811349112346 Il y a quelques jours601

répondre à tous(1)je répondrai

  • P粉388945432

    P粉3889454322023-12-08 00:13:39

    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.

    répondre
    0
  • Annulerrépondre