From e4b090b20bb745b7d3cbffdcdb5991fbd02bbbe8 Mon Sep 17 00:00:00 2001 From: mattyatea Date: Sun, 10 Dec 2023 01:32:00 +0900 Subject: [PATCH] =?UTF-8?q?=E6=8D=A8=E3=81=A6=E3=82=81=E3=81=82=E3=81=A9?= =?UTF-8?q?=E5=BC=BE=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/backend/src/core/EmailService.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/core/EmailService.ts b/packages/backend/src/core/EmailService.ts index f31cec2b3a..29d575b564 100644 --- a/packages/backend/src/core/EmailService.ts +++ b/packages/backend/src/core/EmailService.ts @@ -183,7 +183,22 @@ export class EmailService { } else { validated = { valid: true, reason: null }; } - + if (meta.enableActiveEmailValidation) { + const dispose = await this.httpRequestService.send('https://raw.githubusercontent.com/mattyatea/disposable-email-domains/master/disposable_email_blocklist.conf', { + method: 'GET', + }); + const dispoes_2 = await this.httpRequestService.send('https://raw.githubusercontent.com/disposable/disposable-email-domains/master/domains_strict.txt', { + method: 'GET', + }); + const disposableEmailDomains = (await dispose.text()).split('\n'); + const disposableEmailDomains_2 = (await dispoes_2.text()).split('\n'); + disposableEmailDomains.push(...disposableEmailDomains_2); + const domain = emailAddress.split('@')[1]; + console.log(domain) + if (disposableEmailDomains.includes(domain)) { + validated = { valid: false, reason: 'disposable' }; + } + } const available = exist === 0 && validated.valid; return {