İçeriğe git
Siber Radyo
50%
SIBERDEYIZLAUNCHER YAYINLANDI
Cliptz

SORU Outlook için mail okuma otp sistemi nasıl yapabilirim

3 | 0 | 2
Seviye 1

Outlook için mail okuma otp sistemi nasıl yapabilirim

Son düzenleme: Dyna (Değişiklikleri Gör)
    Developer
    Yapay Zeka Tarafından Başlığa verilen yanıt
    Otomatik Yanıtlandı

    Outlook üzerinden gelen mailleri okuyarak bir Tek Kullanımlık Şifre (OTP - One-Time Password) sistemi geliştirmek için, Microsoft Graph API veya IMAP protokolünü kullanabilirsiniz. Güvenlik ve modern standartlar açısından en tavsiye edilen yöntem Microsoft Graph API ve OAuth 2.0 kimlik doğrulamasıdır. Temel süreç, belirli bir gelen kutusunu sürekli dinleyen, gelen maillerin içeriğini regex (düzenli ifadeler) ile parse eden ve OTP kodunu ayıklayarak sisteme besleyen bir otomasyon yazılımı yazmaktır.


    İlk adım olarak, Azure Portal üzerinden bir uygulama kaydı (App Registration) yapmanız gerekmektedir. Bu aşamada uygulamanıza Mail.Read veya Mail.ReadWrite izinlerini (Application Permissions) tanımlamalı ve yönetici onayı (Admin Consent) vermelisiniz. Client Credentials akışını kullanarak, kullanıcı etkileşimi olmadan arka planda çalışan bir servis (daemon) oluşturabilirsiniz. Python veya C# gibi diller bu tür otomasyonlar için oldukça uygundur.


    Python tabanlı bir örnek senaryoda, requests ve msal kütüphanelerini kullanarak Graph API'ye bağlanabilirsiniz. Aşağıdaki örnek kod bloğu, gelen kutusundaki okunmamış mailleri çeker ve içerisindeki OTP kodunu regex ile yakalamaya çalışır:


    import re
    import requests
    from msal import ConfidentialClientApplication
    
    client_id = "BURAYA_CLIENT_ID"
    client_secret = "BURAYA_CLIENT_SECRET"
    tenant_id = "BURAYA_TENANT_ID"
    
    authority = f"https://login.microsoftonline.com/{tenant_id}"
    app = ConfidentialClientApplication(client_id, authority=authority, client_credentials=client_secret)
    result = app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"])
    
    if "access_token" in result:
        headers = {"Authorization": "Bearer " + result["access_token"]}
        endpoint = "https://graph.microsoft.com/v1.0/users/[email protected]/messages?$filter=isRead eq false"
        response = requests.get(endpoint, headers=headers)
        
        if response.status_code == 200:
            messages = response.json().get("value", [])
            for msg in messages:
                body = msg.get("body", {}).get("content", "")
                # OTP kodunu yakalamak için örnek regex (örn: 6 haneli sayı)
                otp_match = re.search(r'\b\d{6}\b', body)
                if otp_match:
                    otp_code = otp_match.group(0)
                    print(f"Bulunan OTP: {otp_code}")
                    # Burada OTP'yi hedef sisteme iletme veya veritabanına kaydetme işlemleri yapılabilir
    

    Sistemin kesintisiz çalışması için bu scripti bir zamanlayıcı (Cron Job veya Windows Task Scheduler) ile periyodik olarak çalıştırmalı ya da Microsoft Graph Webhooks (Subscriptions) özelliğini kullanarak mailler düştüğü an anlık (real-time) bildirim alacak bir webhook sunucusu ayağa kaldırmalısınız. Webhook yöntemi performans açısından çok daha verimlidir çünkü sürekli API yoklaması (polling) yapmak yerine push mantığıyla çalışır.

    Sırala:
    Seviye 1

    sen ıyı yerlere gelıcen ınanıyorum


    Davar dassagi kirilir
    Seviye 1
    Yanıtlandı

    sağol dayı


    Yorum yapmak için bir hesap oluşturun veya giriş yapın

    Topluluğumuzda yorum bırakabilmek ve gizli içerikleri görebilmek için üye olmanız gerekmektedir.

    Yeni Hesap Oluştur

    Community topluluğumuza ücretsiz olarak katılmak için hızlıca kayıt olun.

    Kayıt Ol

    Giriş Yap

    Zaten üye misiniz? Hesabınıza giriş yaparak hemen paylaşıma devam edin.

    Giriş Yap

    Benzer Konular

    Aynı Kategorideki Diğer Konular
    Gevorg
    Zorunlu
    0 Yanıt
    48 İzlenme
    Gevorg
    Gevorg 23 saat
    Gevorg
    Zorunlu
    4 Yanıt
    347 İzlenme
    MullJACK
    MullJACK 24 saat
    Gevorg
    Zorunlu
    1 Yanıt
    132 İzlenme
    MullJACK
    MullJACK 2 gün
    Dyna
    Yazan: Dyna 2 gün
    Zorunlu
    2 Yanıt
    351 İzlenme
    RXbypass
    RXbypass 2 gün
    byyracky
    Zorunlu
    0 Yanıt
    143 İzlenme
    byyracky
    byyracky 3 gün
    Hoş Geldiniz Giriş yaparak tüm özelliklere erişebilirsiniz.
    ×
    ×
    • Yeni Oluştur...
    Sohbet