mettre cela dans un gestionnaire de fonctions netlify pour lambda
// For more info, check https://www.netlify.com/docs/functions/#javascript-lambda-functions
export function handler(event, context, callback) {
console.log('sending')
console.log(event)
console.log(context)
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
const msg = {
to: '[email protected]',
from: '[email protected]',
templateId: '#ID',
dynamic_template_data: {
recipient: 'alex',
},
}
sgMail.send(msg).catch(function(error) {
console.log(error)
})
console.log('sent sign up')
}
j'obtiens ce qui suit
TypeError: s is not a function
at e.exports.deepMergeDynamicTemplateData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:127:27164)
at p.applyDynamicTemplateData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:117545)
at p.addPersonalization (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:116796)
at p.addTo (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:116994)
at p.fromData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:115579)
at new p (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:114482)
at Function.create (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:120622)
at e.exports.send (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:1:156753)
at Object.a.handler (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:127:36900)
at /Users/amlcodes/Documents/projects/cctmvp/node_modules/netlify-lambda/lib/serve.js:79:27
at Layer.handle [as handle_request] (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:137:13)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
[HPM] Error occurred while trying to proxy request mailinglist from localhost:8000 to http://localhost:9000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)
avec cet appel
fetch('/.netlify/functions/mailinglist', {
method: 'POST',
body: JSON.stringify({
// recipient: this.state.recipient,
recipient: 'alex',
}),
headers: new Headers({
'Content-Type': 'application/json',
}),
})
.then(res => {
console.log('Signup processed successfully')
this.setState({ signupmessage: 'Signup Successful!' })
return res
})
.catch(error => {
console.error('Error:', error)
this.setState({ signupmessage: 'Signup Failed' })
})
this.dynamicTemplateData=s(e,this.dynamicTemplateData)}} dans la liste de diffusion générée.js
Bonjour @amlcodes ,
Il semble que Netlify ait ajouté ce code s(e,this.dynamicTemplateData)
sans définir la fonction s
. Que se passe-t-il lorsque vous supprimez cette ligne ?
Meilleures salutations,
Elmer
J'ai aussi ce problème.
Cela ne se produit que lorsque j'utilise templateId
, uniquement sur Netlify (cela fonctionne sans problème sur ma machine locale, nœud 10.16.0)
Je ne sais pas comment supprimer cette ligne et voir le résultat, le problème est uniquement sur Netlify.
Pouvez-vous essayer de désactiver la minification pour voir quel est le problème sous-jacent ? https://github.com/netlify/netlify-lambda#debugging
En fait, je suis sûr que cela sera corrigé par https://github.com/sendgrid/sendgrid-nodejs/pull/1039