Así que estoy usando solo el front-end y necesito tener un formulario de contacto con los archivos adjuntos.
Para esto, decidí usar emailjs y fácil de configurar todo solo para los correos electrónicos. Cuando agrego un archivo y lo envío por correo electrónico, obtengo [objeto Objeto].
Ese es mi código final de fuente:
import React, { useRef } from 'react'; import emailjs from '@emailjs/browser'; export const ContactUs = () => { const form = useRef(); const addFile = () => { inputFile.current.click(); }; const sendEmail = (e) => { e.preventDefault(); emailjs.sendForm('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', form.current, 'YOUR_PUBLIC_KEY') .then((result) => { console.log(result.text); }, (error) => { console.log(error.text); }); }; return ( <form ref={form} onSubmit={sendEmail}> <label>Name</label> <input type="text" name="user_name" /> <label>Email</label> <input type="email" name="user_email" /> <label>Message</label> <textarea name="message" /> <input name="image" type="file" onClick={addFile} ref={inputFile} value={file} onChange={(event: any) => setFile(event.target.value)} /> <input type="submit" value="Send" /> </form> ); };
Entonces, ¿qué estoy haciendo mal? ¿Tal vez hay otro servicio de correo electrónico de terceros que tiene una mejor documentación para reaccionar con archivos adjuntos?
¡Gracias por las sugerencias!