Aracılığıyla paylaş


Python için Azure İletişim Email istemci kitaplığı - sürüm 1.0.0

Bu paket, Email için Azure İletişim Hizmetleri için bir Python SDK içerir.

Önemli kavramlar

Azure İletişim Email paketi, birden çok alıcı türüne e-posta göndermek için kullanılır.

Başlarken

Ön koşullar

Azure aboneliğine, İletişim Hizmeti Kaynağına ve etkin etki alanına sahip bir Email İletişim Kaynağına ihtiyacınız vardır.

Bu kaynağı oluşturmak için Azure Portalı, Azure PowerShell veya .NET yönetim istemci kitaplığını kullanabilirsiniz.

Yükleme

Pip ile Python için Azure communication Email istemci kitaplığını yükleyin:

pip install azure-communication-email

Örnekler

EmailClient e-posta iletileri gönderme işlevselliğini sağlar.

Kimlik Doğrulaması

Email istemcilerin kimliği, Azure Portaldaki bir Azure İletişim Kaynağından alınan bağlantı dizesi kullanılarak doğrulanabilir.

from azure.communication.email import EmailClient

connection_string = "endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>"
client = EmailClient.from_connection_string(connection_string);

Alternatif olarak, DefaultAzureCredential kullanarak Active Directory kimlik doğrulamasını da kullanabilirsiniz.

from azure.communication.email import EmailClient
from azure.identity import DefaultAzureCredential

# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.
endpoint = "https://<resource-name>.communication.azure.com"
client = EmailClient(endpoint, DefaultAzureCredential())

Email istemcilerin kimlikleri AzureKeyCredential kullanılarak da doğrulanabilir.

from azure.communication.email import EmailClient
from azure.core.credentials import AzureKeyCredential

credential = AzureKeyCredential("<api_key>")
endpoint = "https://<resource-name>.communication.azure.com/"
client = EmailClient(endpoint, credential);

Email İletisi Gönderme

E-posta iletisi göndermek için işlevinden çağırın begin_sendEmailClient. Bu bir poller döndürür. İşlemin durumunu denetlemek ve tamamlandıktan sonra sonucu almak için bu poller'ı kullanabilirsiniz.

message = {
    "content": {
        "subject": "This is the subject",
        "plainText": "This is the body",
        "html": "<html><h1>This is the body</h1></html>"
    },
    "recipients": {
        "to": [
            {
                "address": "customer@domain.com",
                "displayName": "Customer Name"
            }
        ]
    },
    "senderAddress": "sender@contoso.com"
}

poller = email_client.begin_send(message)
result = poller.result()

Birden Çok Alıcıya Email İletiSi Gönderme

Birden çok alıcıya e-posta iletisi göndermek için, her alıcı türü için bir nesne ve her alıcı için bir nesne ekleyin.

message = {
    "content": {
        "subject": "This is the subject",
        "plainText": "This is the body",
        "html": "<html><h1>This is the body</h1></html>"
    },
    "recipients": {
        "to": [
            {"address": "customer@domain.com", "displayName": "Customer Name"},
            {"address": "customer2@domain.com", "displayName": "Customer Name 2"}
        ],
        "cc": [
            {"address": "ccCustomer@domain.com", "displayName": "CC Customer Name"},
            {"address": "ccCustomer2@domain.com", "displayName": "CC Customer Name 2"}
        ],
        "bcc": [
            {"address": "bccCustomer@domain.com", "displayName": "BCC Customer Name"},
            {"address": "bccCustomer2@domain.com", "displayName": "BCC Customer Name 2"}
        ]
    },
    "senderAddress": "sender@contoso.com"
}

poller = email_client.begin_send(message)
result = poller.result()

Eklerle Email Gönderme

Azure İletişim Hizmetleri ekleri olan e-posta gönderme desteği.

import base64

with open("C://readme.txt", "r") as file:
    file_contents = file.read()

file_bytes_b64 = base64.b64encode(bytes(file_contents, 'utf-8'))

message = {
    "content": {
        "subject": "This is the subject",
        "plainText": "This is the body",
        "html": "<html><h1>This is the body</h1></html>"
    },
    "recipients": {
        "to": [
            {
                "address": "customer@domain.com",
                "displayName": "Customer Name"
            }
        ]
    },
    "senderAddress": "sender@contoso.com",
    "attachments": [
        {
            "name": "attachment.txt",
            "attachmentType": "text/plain",
            "contentInBase64": file_bytes_b64.decode()
        }
    ]
}

poller = email_client.begin_send(message)
result = poller.result()

Sorun giderme

Email işlemleri, sunucuya yönelik istek başarısız olursa bir özel durum oluşturur. Email istemcisi, Azure Core'da tanımlanan özel durumları tetikler.

from azure.core.exceptions import HttpResponseError

try:
    response = email_client.send(message)
except HttpResponseError as ex:
    print('Exception:')
    print(ex)

Sonraki adımlar

Katkıda bulunma

Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için cla.microsoft.com adresini ziyaret edin.

Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorular veya yorumlarla iletişime geçin opencode@microsoft.com .