sendgridのインバウンド解析WebhookのWebhookとして使用するFirebase関数があります。つまり、私のドメインにメールが送信されるたびに、ウェブフックが呼び出されます。Webhookが呼び出されていることはわかっていますが、Sendgridから送信されているデータにアクセスできません。このリンクは、すべての情報(テキスト、送信者、電気ショック療法)がヘッダーのすぐそこにあるべきであることを示しています。ただし、印刷するreq.headers
と次のようになります。
{ host: 'us-central1-project-name.cloudfunctions.net',
'user-agent': 'Sendlib/1.0 server.sendgrid.net',
'transfer-encoding': 'chunked',
'content-type': 'multipart/form-data; boundary=xYzZY',
forwarded: 'for="ip";proto=https',
'function-execution-id': 'id',
'x-appengine-city': '?',
'x-appengine-citylatlong': '0.000000,0.000000',
'x-appengine-country': 'US',
'x-appengine-default-version-hostname': ~~~~~~~~~~~~~.appspot.com',
'x-appengine-https': 'on',
'x-appengine-region': '?',
'x-appengine-request-log-id': 'super-long-id',
'x-appengine-user-ip': 'ip',
'x-cloud-trace-context': 'id/number;o=1',
'x-forwarded-for': 'ip',
'x-forwarded-proto': 'https',
'accept-encoding': 'gzip',
connection: 'close' }'
(明らかに、私はすべてのIDとすべてを置き換えました)
メール情報はどこにありますか?私は次のすべてを実行しようとしましたが、いずれも電子メールに関する情報を生成しませんでした。
exports.reciever = functions.https.onRequest((req, res) => {
try {
console.log("Email recieved");
console.log(req);
console.log(req.headers);
console.log(req.header.to);
console.log(req.body);
console.log(req.get('to'));
console.log(req.body.to);
console.log(req.rawBody);
console.log(req.query);
console.log(req.query.to);
console.log(req.params);
console.log(req.path);
console.log(req.rawBody);
} catch (e) {}
finally {
res.send("2xx");
}
})
ですから、実際には非常に単純であることがわかります。追加
.toString()
req.body
orreq.rawBody
オブジェクトの終わり。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加