SendGrid模板事务性v3函数Firebase

时间:2018-09-25 14:44:57

标签: firebase google-cloud-firestore sendgrid-api-v3

每次在Firestore中有新记录时,我都在Firebase中使用一个函数发送电子邮件,这很好,但是似乎SendGrid已更新为事务模板的新版本。

我之前在SendGrid事务模板的主体中拥有的是:

l1, l2, l3=[1], [1,2], [1,3,1]

biglist=[l1,l2,l3]

这正常工作,也就是说,它使用新记录的数据发送了邮件(每次在Firestore中都有新记录),但是现在它仅发送邮件,但是没有任何数据到达。我认为SendGrid发生了变化吗?还是我功能的主题?

在我使用Angular 5之前,我现在正在使用版本6。

这是我的函数 index.js 的代码:

nombre: {{nombre}}
email: {{email}}
celular: {{celular}}
valorPropiedad: {{valorPropiedad}}

1 个答案:

答案 0 :(得分:0)

经过一番蛮力测试后,这种组合奏效了。

exports.firestoreEmail = functions.firestore
    .document( 'members/{memberId}' )
    .onCreate( ( snap, context ) => {

        const member = snap.data();
        mail.setApiKey( SENDGRID_API_KEY );
        const msg = {
            to: member.email,
            from: "hello@angularfirebase.com",
            subject: "Welcome",
            templateId: "xxx",
            substitutions: {
                name: member.name,
                email: member.email,
                membershipId: member.memberId
            },
            dynamic_template_data:
            {
                name: member.name,
                email: member.email,
                membershipId: member.memberId
            }
        };

        return mail.send( msg ).then( () => console.log( 'email sent to receiver2!' ) )
            .catch( err => console.log( err ) );
    } );