Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> ईमेल

Flask यूज़र ऑथेंटिकेशन में ईमेल वैलिडेशन सर्विस जोड़ें

ऑनलाइन सुरक्षा में यूज़र ऑथेंटिकेशन महत्वपूर्ण है। ईमेल-आधारित ऑथेंटिकेशन लोकप्रिय है, लेकिन उपयोगकर्ता नकली/अमान्य ईमेल डाल सकते हैं। ईमेल वैलिडेशन सर्विस (जैसे emailvalidation.io) सिंटैक्स, डोमेन, मेलबॉक्स जांचती है और डिस्पोज़ेबल/रिस्की ईमेल पहचानती है।

पूर्वापेक्षाएँ

  • Python 3.8+ ज्ञान
  • Flask, Blueprints, Requests की बुनियादी समझ

वर्चुअल एनवायरनमेंट सेटअप

mkdir email-validation
cd email-validation
python -m venv env
source env/bin/activate  # Windows: source env/Scripts/activate
pip install requests python-decouple

ईमेल वैलिडेशन फ़ंक्शन

emailvalidation.io पर अकाउंट बनाकर API की प्राप्त करें।

# test.py
import requests
from requests.structures import CaseInsensitiveDict

def is_valid(email: str):
    url = f"https://api.emailvalidation.io/v1/info?email={email}"
    headers = CaseInsensitiveDict()
    headers["apikey"] = "your-api-key-here"
    response = requests.get(url, headers=headers)
    return response.json()

print(is_valid("support@emailvalidation.io"))
print(is_valid("venip42579@jdsdhak.com"))

रिस्पॉन्स में मुख्य फ़ील्ड्स: format_valid, mx_found, smtp_check, state (deliverable/undeliverable)।

बूलियन रिटर्न करने वाला संस्करण:

def is_valid(email: str):
    url = f"https://api.emailvalidation.io/v1/info?email={email}"
    headers = CaseInsensitiveDict()
    headers["apikey"] = "your-api-key"
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        j = response.json()
        return (j["format_valid"] and j["mx_found"] and
                j["smtp_check"] and j["state"] == "deliverable")
    return False

Flask में बेसिक यूज़र ऑथेंटिकेशन सेटअप

GitHub से बेस प्रोजेक्ट क्लोन करें (ashutoshkrris/Flask-User-Authentication), डिपेंडेंसीज़ इंस्टॉल करें, .env से एन्वायरनमेंट वेरिएबल्स लोड करें, Flask-Migrate से डेटाबेस बनाएं, python manage.py run से चलाएं।

ईमेल वैलिडेशन इंटीग्रेशन

  1. .env में API_KEY=your-key जोड़ें, source .env चलाएं
  2. src/accounts/utils.py बनाएं:
import requests
from requests.structures import CaseInsensitiveDict
from decouple import config

def is_valid(email: str):
    url = f"https://api.emailvalidation.io/v1/info?email={email}"
    headers = CaseInsensitiveDict()
    headers["apikey"] = config("API_KEY")
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        j = response.json()
        return (j["format_valid"] and j["mx_found"] and
                j["smtp_check"] and j["state"] == "deliverable")
    return False
  1. forms.py में RegisterForm.validate मेथड संशोधित करें:
from src.accounts.utils import is_valid

class RegisterForm(FlaskForm):
    # ... फील्ड्स ...
    def validate(self):
        if not super().validate():
            return False
        if not is_valid(self.email.data):
            self.email.errors.append("Email is invalid")
            return False
        user = User.query.filter_by(email=self.email.data).first()
        if user:
            self.email.errors.append("Email already registered")
            return False
        if self.password.data != self.confirm.data:
            self.password.errors.append("Passwords must match")
            return False
        return True

अब रजिस्ट्रेशन पर अमान्य ईमेल रिजेक्ट होंगे।

अन्य उपयोग केस

  1. ईमेल लिस्ट सफाई: अमान्य/रिस्की एड्रेस हटाकर डिलीवरेबिलिटी सुधारें
  2. धोखाधड़ी रोकथाम: नकली अकाउंट/ऑर्डर के ईमेल वैलिडेट करें
  3. मार्केटिंग अभियान: वैध/सक्रिय ईमेल्स से डिलीवरी रेट बढ़ाएं

निष्कर्ष

ईमेल वैलिडेशन सर्विस किसी भी ऐप के लिए शक्तिशाली टूल है जो यूज़र डेटा की सटीकता, धोखाधड़ी रोकथाम, और UX सुधारती है।

अतिरिक्त संसाधन

  • Flask Blueprints गाइड
  • Flask में ईमेल वेरिफ़िकेशन सेटअप
  • emailvalidation.io डॉक्यूमेंटेशन
  1. eMMC बनाम SSD: अंतर क्या है? eMMC बनाम SSD: अंतर क्या है?

    लॉन्ग-टर्म स्टोरेज बदल रहा है। हम हार्ड डिस्क ड्राइव (HDD) का उपयोग करने के आदी हैं और हम में से कई के पास अब सॉलिड-स्टेट ड्राइव (SSD) हैं। लेकिन इलेक्ट्रॉनिक मल्टी-मीडिया कार्ड (eMMC) क्या है और हम इसे SSD और HDD के बजाय लैपटॉप में क्यों देख रहे हैं? हम पहले से ही जानते हैं कि SSD आम तौर पर HDD से

  1. गैर-Gmail अकाउंट के साथ Google Drive फ़ाइलें कैसे शेयर करें गैर-Gmail अकाउंट के साथ Google Drive फ़ाइलें कैसे शेयर करें

    Google Drive अपने मुफ्त 15 GB स्टोरेज स्पेस, कुशल सहयोगी टूल्स, और अन्य Google सेवाओं या उत्पादों के साथ अंतर्निहित इंटीग्रेशन के कारण सबसे लोकप्रिय क्लाउड स्टोरेज सेवाओं में से एक है। लेकिन हर व्यक्ति या संगठन Google उपयोगकर्ता नहीं है। तो, आप उनके साथ फ़ाइलें और फोल्डर कैसे शेयर कर सकते हैं? इस ले

  1. ऑपरेटिंग सिस्टम वर्तमान में इस एप्लिकेशन को चलाने के लिए कॉन्फ़िगर नहीं है ऑपरेटिंग सिस्टम वर्तमान में इस एप्लिकेशन को चलाने के लिए कॉन्फ़िगर नहीं है

    यदि आपको अपने सिस्टम पर त्रुटि संदेश ऑपरेटिंग सिस्टम वर्तमान में इस एप्लिकेशन को चलाने के लिए कॉन्फ़िगर नहीं है प्राप्त हो रहा है, तो यह पोस्ट निश्चित रूप से इसे ठीक करने में आपकी मदद करेगी। यह त्रुटि संदेश प्रमुख रूप से Office एप्लिकेशन खोलते समय देखा जाता है, जैसे Word, Excel, Outlook, आदि। लेकिन