Öğretici: E-posta göndermek için Azure Logic Apps ile tümleştirme

Bu öğreticide, Azure Logic Apps kullanarak App Service uygulamanızı iş süreçlerinizle tümleştirmeyi öğreneceksiniz. Azure App Service uygulamanızdan Gmail aracılığıyla e-posta gönderen bir mantıksal uygulama oluşturursunuz.

Bir web uygulamasından e-posta göndermenin, dil çerçevenizde Basit Posta Aktarım Protokolü (SMTP) yapılandırmasını kullanma gibi başka yolları da vardır. Ancak Logic Apps, kodunuz için karmaşıklık eklemeden birçok iş tümleştirmesi için basit bir yapılandırma arabirimi sağlar.

Aşağıdakiler gibi çeşitli yaygın web uygulaması senaryolarını uygulamak için bu öğreticide gösterilen adımları kullanabilirsiniz:

  • İşlem için onay e-postası gönderme.
  • Facebook grubuna kullanıcı ekleme.
  • SAP ve Salesforce gibi dış sistemlere bağlanma.
  • Standart B2B iletileri alışverişi.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdaki önkoşullara sahip olmanız gerekir:


Mantıksal uygulamayı oluşturma

  1. Tüketim mantıksal uygulaması kaynağı oluşturma başlığındaki yönergeleri izleyerek Azure Logic Apps'te çok kiracılı bir Tüketim uygulaması oluşturun. Uygulama oluşturulduğunda Kaynağa git'i seçin.

  2. Mantıksal uygulama sayfanızda, sol gezinti menüsündeki Geliştirme Araçları'nın altında Mantıksal uygulama tasarımcısı'nı seçin.

Tetikleyiciyi ekleme

  1. Mantıksal uygulama tasarımcısı tuvalinde Tetikleyici ekle'yi seçin.

    Tetikleyici ekle seçeneğinin vurgulandığı Logic Apps tasarımcısı tuvalini gösteren ekran görüntüsü.

  2. Yerleşik araçlar'ın altındaki Tetikleyici ekle ekranında İstek'i seçin ve sonraki ekranda HTTP isteği alındığında'yı seçin.

    İstek ve HTTP isteği alındığında'nın vurgulandığını gösteren ekran görüntüsü.

    Tetikleyici tasarımcı tuvalinde görünür.

  3. HTTP isteği alındığında ekranında Şema oluşturmak için örnek yükü kullan'ı seçin.

    Şema oluştur bağlantısının vurgulandığı HTTP isteği alındığında ekranını gösteren ekran görüntüsü.

  4. Örnek bir JSON yükü girin veya yapıştırın ekranına aşağıdaki kodu yapıştırın ve ardından Bitti'yi seçin.

    {
        "task": "<description>",
        "due": "<date>",
        "email": "<email-address>"
    }
    

    Azure, girdiğiniz istek verilerinin şemasını oluşturur. Uygulamada, uygulama kodunuzdan gerçek istek verilerini yakalayabilir ve JSON şemasını oluşturmak için kullanabilirsiniz.

  5. Mantıksal Uygulama tasarımcısı üst araç çubuğunda Kaydet'i seçin.

  6. Oluşturulan HTTP URL'si artık HTTP isteği alındığında ekranında HTTP URL'si altında görünür. Daha sonra kullanmak üzere URL'yi kopyalamak için kopyala simgesini seçin.

    Şema oluştur bağlantısı ve HTTP URL'si vurgulanmış bir HTTP isteği alındığında ekranını gösteren ekran görüntüsü.

HTTP isteği tanımı, bu mantıksal uygulama iş akışında posta gönderme gibi yapmak istediğiniz her şeyin tetikleyicisidir. Daha sonra bu URL'yi App Service uygulamanızda çağırırsınız. İstek tetikleyicisi hakkında daha fazla bilgi için bkz. Azure Logic Apps'te iş akışlarına gönderilen gelen HTTPS çağrılarını alma ve yanıtlama.

E-postayı oluşturma

E-posta gönder eylemi ekleyin ve e-postayı daha önce girdiğiniz üç HTTP isteği özelliğiyle doldurun.

  1. Tasarımcı tuvalinde tetikleyicinin altındaki öğesini + seçin ve Eylem ekle'yi seçin.

  2. Eylem ekle ekranında, arama kutusuna gmail yazın ve e-posta gönder (V2) seçeneğini belirleyin.

    İpucu

    SendGrid, MailChimp, Microsoft 365 ve SalesForce gibi diğer tümleştirme türlerini arayabilirsiniz. Daha fazla bilgi için bkz . Azure Logic Apps için yönetilen bağlayıcılar.

  3. Bağlantı oluştur ekranında, e-postayı göndermek istediğiniz Gmail hesabına erişimin kimliğini doğrulamak için Oturum aç'ı seçin.

    Gmail hesabınızda oturum açtığınızda Gmail eylemini gösteren ekran görüntüsü.

  4. Oturum açıldıktan sonra, Dinamik içerik simgesini görüntülemek için E-posta gönder (V2) ekranındaki Hedef alanının içini seçin. Simgenin üst, şimşek kısmını seçin.

  5. Dinamik içerik listesi görüntülenir ve daha önce girdiğiniz üç HTTP isteği özelliği gösterilir. Listeden e-postayı seçin.

    Dinamik içerik simgesini ve e-postanın vurgulandığı listeyi gösteren ekran görüntüsü.

  6. E-posta gönder (V2) ekranında, e-posta öğesi Son alanında görüntülenir. Gelişmiş parametreler'in altında listeyi açın ve Konu ve Gövde'yi seçin.

    Parametreler listesinden Konu ve Gövde'yi seçmeyi gösteren ekran görüntüsü.

  7. Konu ve Gövde alanları E-posta gönder (V2) ekranında görünür. Konu alanını seçerek dinamik içerik simgesini görüntüleyin ve dinamik içerik listesinden görevi seçin.

  8. Görevin yanındaki Konu alanına bir boşluk yazın ve ardından oluşturuldu yazın.

  9. Gövde alanının içini seçin, dinamik içerik listesini görüntüleyin ve son tarihi seçin.

  10. Gövde alanında, imleci vadesi dolmadan önce hareket ettirin ve Bu iş öğesinin son tarihi tarihi ve ardından bir boşluk girin.

    Tamamlanmış E-posta gönder (V2) formunu gösteren ekran görüntüsü.

Yanıt ekleme

HTTP tetikleyicisine zaman uyumsuz bir HTTP yanıtı ekleyin.

  1. Tasarımcı tuvalinde HTTP isteği tetikleyicisi + ile Gmail eylemi arasında bir seçim yapın ve Paralel dal ekle'yi seçin.

    + işaretini ve Paralel dal ekle seçeneğinin vurgulandığını gösteren ekran görüntüsü.

  2. Eylem ekle ekranında, arama alanına yanıt yazın ve Yanıt'ı seçin.

    Arama çubuğunu ve Yanıt eyleminin vurgulandığını gösteren ekran görüntüsü.

    Varsayılan olarak, yanıt eylemi bu öğretici için yeterli olan bir HTTP 200gönderir. Daha fazla bilgi için bkz. Azure Logic Apps'te iş akışlarına gönderilen gelen HTTPS çağrılarını alma ve yanıtlama.

  3. Mantıksal uygulama tasarımcısı araç çubuğunda Kaydet'i seçin.

APP Service uygulamanıza HTTP istek kodunu ekleme

İstek tetikleyici URL'si gibi hassas bilgileri doğrudan App Service uygulama kodunuz içine yerleştirmekten kaçınmanız gerekir. Bunun yerine, App Service uygulama ayarlarından URL'ye ortam değişkeni olarak başvurabilirsiniz. Aşağıdaki komut, mantıksal uygulamanız HTTP URL'si için adlı LOGIC_APP_URL bir ortam değişkeni oluşturur.

  1. Azure Cloud Shell'de aşağıdaki Azure CLI komutunu çalıştırarak uygulama ayarını oluşturun. ve <resource-group-name> değerini App Service uygulamanız ve kaynak grubu adlarınızla değiştirin<app-name>. değerini mantıksal uygulamanızdan kopyaladığınız HTTP URL'si ile değiştirin <http-url> .

    az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings LOGIC_APP_URL="<http-url>"
    
  2. Kodunuzda, aşağıdaki yapılandırmayla, dil çerçevenizde kullanılabilen bir HTTP istemci dili kullanarak mantıksal uygulama URL'sine standart bir HTTP gönderisi oluşturun:

    • İsteğin başlığını Content-Type: application/jsoniçerdiğinden emin olun.

    • İstek gövdesinde mantıksal uygulamanıza sağladığınız JSON biçimini kullanın:

      {
          "task": "<description>",
          "due": "<date>",
          "email": "<email-address>"
      }
      
    • Performansı iyileştirmek için, mümkünse isteği zaman uyumsuz olarak gönderin.

    • Günlük yönergeleri için tercih ettiğiniz çerçevenin belgelerine bakın.

Örnek istek/yanıt kodu örnekleri

Örnek isteği ve yanıtı görmek için tercih ettiğiniz dili/çerçeveyi seçin. Bazı örneklerde kod paketlerinin kullanılması veya yüklenmesi gerekir.

ASP.NET Core'da, System.Net.Http.HttpClient sınıfıyla HTTP gönderisini gönderebilirsiniz. Aşağıdaki kod örneği ve System.Text.Jsonkullanılmasını System.Net.Http gerektirir. , HttpResponseMessage uygulama ayarlarına erişmek için bağımlılık ekleme (DI) yapılandırması gerektirir. Daha fazla bilgi için bkz. Ortam değişkenlerine erişme.

// requires using System.Net.Http;
var client = new HttpClient();
// requires using System.Text.Json;
var jsonData = JsonSerializer.Serialize(new
{
    email = "someone@example.com",
    due = "4/1/2025",
    task = "My new task!"
});

HttpResponseMessage result = await client.PostAsync(
    // Requires DI configuration to access app settings
    _configuration["LOGIC_APP_URL"],
    new StringContent(jsonData, Encoding.UTF8, "application/json"));
    
var statusCode = result.StatusCode.ToString();

Not

Bu tanıtım kodu kolaylık sağlamak için yazılmıştır. Uygulamada, her istek için bir HttpClient nesne örneği oluşturmazsınız. Dayanıklı HTTP istekleri uygulamak için IHttpClientFactory kullanma makalesinde yer alan yönergeleri izleyin.

İpucu

Öğretici: Azure App Service'te ASP.NET Core ve SQL Veritabanı uygulaması derleme adlı örnek uygulamayı kullanıyorsanız, öğe ekledikten Todo sonra Oluştur eyleminde e-posta onayı göndermek için bu kodu kullanabilirsiniz.