Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

292
Vistas
Error de Google App Script: no se puede leer la propiedad 'respuesta' de undefined y no se pudo enviar el correo electrónico: sin destinatario

Tengo un script simple que se ejecuta una vez que se envía el formulario. Es un script de prueba simple aplicado html para correo electrónico.

 function sendEmail(e) { //response //getRespondentEmail() var html = HtmlService.createTemplateFromFile("email.html"); var htmlText = html.getCode(); var emailTo = e.response.getRespondentEmail(); var subject = "Thanks for participating"; var textBody = "This email requries HTML support, please maek sure you open with a client taht support."; var options = { htmlBody: htmlText }; if(emailTo !== undefined){ GmailApp.sendEmail(emailTo,subject,textBody,options); //(recipient, subject, body, options) } }

Pero siempre notó TypeError: no se puede leer la propiedad 'respuesta' de indefinido.

 TypeError: Cannot read property 'response' of undefined (line 8, file "Code")

o la respuesta del correo electrónico de mi host decía 'Error al enviar el correo electrónico: sin destinatario' ingrese la descripción de la imagen aquí

No sé por qué no funciona, pero veo que alguien se aplicó con éxito a través del script de la aplicación de Google anterior.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

'e' indefinido:

TypeError: no se puede leer la propiedad 'respuesta' de undefined

Este error significa que el parámetro e no está definido. Lo que significa que esta función no se ejecuta a través del disparador.

Cuando los disparadores llaman a las funciones, a la función se le pasa un objeto de evento como argumento. Pero en otros contextos (por ejemplo, al ejecutar esto manualmente, desde el editor) este argumento no se pasa.

Por lo tanto, se supone que esta función se ejecuta automáticamente cuando los usuarios envían el formulario. No intente ejecutarlo manualmente desde el editor, si está usando e dentro de la función.

Sin destinatario:

No se pudo enviar el correo electrónico: sin destinatario

Esto significa que emailTo no está definido, lo que significa que getRespondentEmail() no devuelve nada.

Esto podría suceder por dos razones:

  • El script creó una respuesta de formulario, pero no se envió. Sin embargo, dado que esto se ejecuta a través de un activador de envío de formulario, no es su caso.
  • La otra razón, que probablemente sea lo que sucede aquí, es que no habilitó la opción para recopilar las direcciones de correo electrónico . Puede hacerlo mediante programación, llamando a Form.setCollectEmail(collect) o a través de la interfaz de usuario, siguiendo la guía en Recopilar las direcciones de correo electrónico de los encuestados .

Relacionado:

  • ¿Cómo puedo probar una función de disparo en GAS?
  • Objetos de evento
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda