Перевірка електронних адрес в Node.js: цікавий та практичний посібник з використанням IPQualityScore

Привіт, кодере! Ти коли-небудь сидів, дивлячись на свій код, і думав: "Чи є тільки я, хто переживає через підроблені або недійсні електронні адреси, які захаращують мою програму?" Ти не один! Кожен розробник, який створював серверну частину, стикався з давнім питанням: "Чи варто додавати процес перевірки електронної пошти?" Спойлер: ТАК!

pic

Але почекай — це не ще один нудний технічний урок. Ні-ні. Це буде весело, практично і (сподіваюсь) трохи надихаюче. Тож бери каву (або чай — тут не судимо), і давай зануримося у світ перевірки електронних адрес у Node.js. Для цієї статті ми будемо використовувати IPQualityScore.

Але перед тим, як зануритись у сам код, давай розберемось з одним питанням

Чому перевірка електронної пошти?

Уяви собі таке: ти створив найкрутіший додаток у світі. Користувачі реєструються пачками, і все здається ідеальним.
Але потім ти розумієш, що половина електронних адрес — це фейки: [email protected], [email protected], або ще гірше, [email protected]. Ой!

Ці погані адреси не лише псують твої дані, але й можуть:

  • Вплинути на доставку електронних листів.
  • Збільшити відсоток повернутих листів.
  • Пошкодити твою репутацію відправника.
  • Витягнути гроші (привіт, інструменти для email-маркетингу, що рахують плату за кількість листів!).

Ось тут і вступає перевірка електронних адрес, яка рятує ситуацію. А з IPQualityScore це стало простіше, ніж будь-коли, щоб переконатись, що адреси твоїх користувачів справжні.

IPQualityScore надає різні відповіді, такі як valid, disposable, fraud score та інші, що допомагають перевіряти електронні адреси.

ПРИМІТКА: Припускається, що ти знаєш, як створити базовий Node JS додаток

ПРИМІТКА: Для роботи потрібні також інші пакети, окрім згаданих нижче, такі як dotenv, express та інші.
Ці пакети в статті не розглядаються_**

Налаштування перевірки електронної пошти в Node.js

Давайте перейдемо до коду. Ось як інтегрувати перевірку електронної пошти за допомогою IPQS у додатку на Node.js.

Крок 1: Отримай свій API ключ

Перейди на IPQualityScore і зареєструй акаунт.
Після того як ви увійшли, отримайте свій API ключ — це ваш магічний ключ для перевірки електронної пошти.

Крок 2: Встановіть необхідні пакети

У вашому проекті на Node.js встановіть пакет axios, щоб робити HTTP запити.

Виконайте наступну команду:

npm install axios

Крок 3: Створіть файл .env

Наступний крок — створити файл .env, де ви зберігатимете ключі та конфіденційну інформацію.

Усередині файлу .env додайте ваш ключ для перевірки електронної пошти.

EMAIL_VALIDATION_KEY = "YOUR_EMAIL_VALIDATION_KEY"

ПРИМІТКА: Ваш API ключ можна знайти в документації.

Крок 4: Напишіть функцію для перевірки

Створіть функцію для перевірки електронних адрес за допомогою API IP Quality Score:

const axiosInstance = require("axios");  

const emailVerfication = async (email) => {  
 var config = {  
 method: "get",  
 url: "https://www.ipqualityscore.com/api/json/email/${process.env.EMAIL_VALIDATION_KEY}/${email}",  
 headers: { "Content-Type": "application/json" },  
 };  

 const response = await axiosInstance(config);  

 if (  
 !response.data.success ||  
 !response.data.valid ||  
 response.data.disposable ||  
 response.data.fraud_score > 80 ||  
 response.data.spam_trap_score === "high"  
 ) {  
 throw {  
 status: 402,  
 message:  
 "Невірна електронна адреса."
Електронна адреса є тимчасовою, недійсною або спамною",  
 data: response.data,  
 errno: 402,  
 errcode: "402",  
 };  
 }  

 return {  
 status: 200,  
 data: response.data,  
 errcode: "0",  
 errno: 0,   
 };  
};  

module.exports = { emailVerfication };

У наведеному прикладі ми беремо електронну адресу і використовуємо API для перевірки, чи була електронна пошта надіслана успішно (response.data.success). Якщо так, то перевіряємо інші параметри, такі як: чи є адреса дійсною, чи не є вона тимчасовою, і чи не перевищує рівень шахрайства 80. Якщо так, то це означає, що це якийсь тип адреси, яка може бути шкідливою для додатку.

Крок 5: Додайте процес перевірки в ендпоінт

Ви маєте функцію для перевірки. Тепер інтегруйте її у свій ендпоінт.
Ось приклад:

app.post('/signup', async (req, res) => {  
 const { email } = req.body;  

 const emailData = await verifyEmail(email);  

 return res.status(data.status).json({  
 status: data.status,  
 message:  
 data.status == 200 && data.errno == 0  
 ? "Користувача успішно перевірено та зареєстровано (0)"  
 : "Сталася помилка під час перевірки користувача (" + data.errno + ")",  
 data: data.data,  
 errno: data.errno,  
 errcode: data.errcode,  
 });  
});

Крок 6: Перевірте

Запустіть ваш додаток і спробуйте зареєструватися з тестовими електронними адресами. Подивіться, як ваш консоль заповниться всіма цікавими деталями перевірки електронної пошти.

Для тестування ми будемо використовувати POSTMAN.

pic

Невірна електронна адреса

Зробіть це приємним для ваших користувачів

Ніхто не любить чути: "Ваша електронна адреса недійсна". Чому б не зробити цей процес приємним? Додайте дружелюбні повідомлення про помилки, наприклад:

  • "Ой! Схоже, ви зробили помилку в адресі електронної пошти."
    "Чи не могли б ви перевірити це ще раз?"
  • "Гм, це здається не працює. Спробуйте ще одну, будь ласка?"

Завершення

Ось і все! Ви тільки що додали перевірку електронних адрес до вашого додатку на Node.js за допомогою IPQualityScore. Тепер ваш додаток став більш надійним, а ви уникнули багатьох неприємностей у майбутньому.

Тож наступного разу, коли хтось зареєструється з фальшивою електронною адресою, ваш додаток ввічливо покаже їм двері.

Джерело: https://giphy.com/gifs/pokemon-pikachu-piplup-m8Z2UqDYU20SY

Щасливого кодування, і пам’ятайте — чисті списки електронних адрес — це щасливі списки!

Перекладено з: Email Verification in Node.js: A Fun and Practical Guide Using IPQualityScore

Leave a Reply

Your email address will not be published. Required fields are marked *