Pessoal boa tarde!
Estou com um problema, não consigo anexar um arquivo num formulário de envio utilizando o sendGrid. Já fiz todo os processo possíveis, mas não obtive nenhum resultado válido.
Fiz meu formulário e todos campos consigo pegar os valores deles, menos o do arquivo 'upado'.
Já fiz os arquivos no backend como pedem os artigos que li sobre o sendGrid.
Poderiam me ajudar.
Segue meu codigo:
import { sendEmail } from 'backend/email'; $w.onReady(function () { $w("#dataset1").onAfterSave(sendFormData); }); function sendFormData() { const subject = `New Submission from ${$w("#inputNome").value}`; const body = `Nome: ${$w("#inputNome").value} \rEmail: ${$w("#inputEmail").value} \rTEL: ${$w("#inputTel").value} \rCPF: ${$w("#inputCPF").value} \rGenero: ${$w("#radioGroupGenero").value} \rSport: ${$w("#dropdownAtuacao").value} \rNascimento: ${$w("#inputDataNascimento").value} \rExperiência: ${$w("#radioGroupExperiencia").value} \rCurriculo: ${$w('#uploadButton1').fileType} `; sendEmail(subject, body) .then(response => console.log(response)); }
Hello @Hugo Neves e @marcopecchy Uma observação é que para fazer o envio do documento você precisa salvar no banco de dados e adicionar o link ao corpo do seu email.
Aqui está um exemplo:
import {sendEmail, sendEmailWithRecipient} from 'backend/email'; $w.onReady(function () { $w("#dataset1").onAfterSave(sendFormData); }); // wix:document://v1 -> docs.wixstatic.com/ugd function sendFormData() { const convertRegex = new RegExp(/wix:document:\/\/v1\/([^\/]+)\/(.*)$/); const item = $w("#dataset1").getCurrentItem(); const matches = item.fieldName.match(convertRegex); const documentUrl = `docs.wixstatic.com/ugd/${matches[1]}?dn=${matches[2]}`; const subject = `New Submission by ${$w("#firstName").value}`; const body = `Name: ${$w("#firstName").value} \rEmail: ${$w("#emailInput").value} \rnome: ${$w("#firstName").value} \rSobrenome: ${$w("#lastName").value} \rArquivo: ${documentUrl}`; const recipient = "wix-user@gmail.com"; sendEmailWithRecipient(subject, body, recipient) .then(response => console.log(response)); }