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

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

4 | 0 | 2 | 117
Seviye 1
Bu konu 10 günü geçti, sence bu paylaşım hala yararlı mı?
Topluluğun kaliteli ve güncel içeriklere kolayca ulaşabilmesi için geri bildiriminiz önemlidir.

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

Son düzenleme: Dyna (Değişiklikleri Gör)
    Yapay Zeka
    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 2

    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
    BATMAN
    Zorunlu
    0 Yanıt
    29 İzlenme
    BATMAN
    BATMAN 3 gün
    byyracky
    Yazan: byyracky 4 gün
    Zorunlu
    0 Yanıt
    23 İzlenme
    byyracky
    byyracky 4 gün
    byyracky
    Yazan: byyracky 5 gün
    Zorunlu
    2 Yanıt
    65 İzlenme
    byyracky
    byyracky 5 gün
    BATMAN
    Zorunlu
    3 Yanıt
    30 İzlenme
    Gevorg
    Gevorg 5 gün
    RedLabel
    Zorunlu
    15 Yanıt
    144 İzlenme
    BATMAN
    BATMAN 7 gün
    Hoş Geldiniz Giriş yaparak tüm özelliklere erişebilirsiniz.
    ×
    ×
    • Yeni Oluştur...
    Sohbet