El enlace mailto está cargando correctamente los destinatarios y el asunto, pero parece cortar el cuerpo del correo electrónico con una longitud muy corta. Mi correo electrónico tiene un total de 1500 caracteres, por lo que estoy por debajo del límite de mailto. El correo electrónico parece estar cortando el cuerpo alrededor de 200 caracteres.
Adjunto una propiedad calculada a la cadena mailto porque estoy usando un paquete llamado "marked.js" que analiza la entrada del usuario en markdown/html.
¿Cómo hago para solucionar este problema? Intenté establecer una nueva propiedad de datos como "formato de correo electrónico" y, en el montaje de la página, el cuerpo del correo electrónico se ejecuta a través del paquete marcado y luego se configura como una propiedad de datos. Supuse que esto solucionaría el problema porque ahora solo estoy adjuntando una cadena al cuerpo de mailto, pero esto no funcionó y todavía termino con un cuerpo de correo electrónico incompleto.
propiedad calculada que toma los datos de respuesta de la API y se ejecuta a través del paquete marcado
letterContentToHtml() { if (this.formData.letterContent != null) { return marked(this.formData.letterContent); // marked is package to parse user input to markdown/html. } else { return null; } },sección de plantilla que muestra el contenido y un botón que incluye el 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>propiedad computada mailto
mailToString() { return "mailto:"+this.formData.emailList+"?subject="+this.formData.subject+"&body="+this.emailContent; },Debe codificar sus datos como URL antes de asignarlos a la propiedad HREF de una etiqueta de hipervínculo/anclaje:
mailToString() { return "mailto:" + encodeURIComponent(this.formData.emailList) + "?subject=" + encodeURIComponent(this.formData.subject) + "&body=" + encodeURIComponent(this.emailContent); }, De lo contrario, podría interferir con algunos caracteres reservados, por ejemplo, ? o = o & o algún carácter Unicode.