每次在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}}
答案 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 ) );
} );