Edited at

SendGridのメール履歴で特定のタイトルに一致するメールを受信しているユーザーのメールアドレスを取得する


背景

システム的に一部ユーザーに誤送信をしてしまいました。そして誰に送ったかはシステム上では記録しておらず誰に送ったかを知る必要がありました。

メールサーバーにはSendGridを使用しており、APIには送ったメールをタイトルで検索などができなさそうでした。

(SendGridのActivityFeedに subject がありましたが検索できず・・)

そこでjsを使ってconsole.logに上げたのでそのコードをメモ。


コード

function logEmails() {

var subject = 'このタイトルを検索したい'
document.querySelectorAll('td.col-5').forEach(function(tag, index) {
if(tag.querySelectorAll('span.subject')[0].textContent == subject) {
console.log(tag.querySelectorAll('span.email')[0].textContent);
}
})
};

setInterval(function() {
document.querySelectorAll('a.pagination-next')[0].click()
logEmails();
}, 3000)


あとがき

多分、発火タイミングはもっと厳密にやるべき。

renderingが遅れたら多分検知できなくなる