Der Mailto-Link lädt die Empfänger und den Betreff korrekt, scheint aber den E-Mail-Text auf eine sehr kurze Länge zu kürzen. Meine E-Mail hat insgesamt 1500 Zeichen und liegt damit unter dem Mailto-Limit. Der Text der E-Mail scheint auf etwa 200 Zeichen gekürzt zu sein.
Ich hänge eine berechnete Eigenschaft an den Mailto-String an, weil ich ein Paket namens „marked.js“ verwende, das Benutzereingaben in markdown/html analysiert.
Wie kann ich dieses Problem lösen? Ich habe versucht, das neue Datenattribut auf „emailFormat“ zu setzen und den E-Mail-Text über das getaggte Paket auf der Seiteninstallation laufen zu lassen und ihn dann auf das Datenattribut zu setzen. Ich dachte, das würde das Problem lösen, denn jetzt hänge ich nur eine Zeichenfolge an den Mailto-Text an, aber das funktioniert nicht und ich erhalte immer noch einen unvollständigen E-Mail-Text.
Berechnete Eigenschaften, die API-Antwortdaten empfangen und getaggte Pakete durchlaufen
letterContentToHtml() { if (this.formData.letterContent != null) { return marked(this.formData.letterContent); // marked is package to parse user input to markdown/html. } else { return null; } },
Vorlagenabschnitt mit Inhalt und Schaltfläche mit 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 berechnete Eigenschaft
mailToString() { return "mailto:"+this.formData.emailList+"?subject="+this.formData.subject+"&body="+this.emailContent; },
在将数据分配给超链接/锚标记的 HREF 属性之前,您必须对数据进行 URL 编码:
否则可能会干扰一些保留字符,例如
?
或=
或&
或某些 Unicode 字符。