Sdílet prostřednictvím


Klientská knihovna Azure Communication Email pro Python – verze 1.0.0

Tento balíček obsahuje sadu Python SDK pro Azure Communication Services pro Email.

Klíčové koncepty

Balíček Azure Communication Email slouží k odesílání e-mailů více typům příjemců.

Začínáme

Požadavky

Potřebujete předplatné Azure, prostředek komunikační služby a prostředek Email komunikace s aktivní doménou.

K vytvoření těchto prostředků můžete použít Azure Portal, Azure PowerShell nebo klientskou knihovnu pro správu .NET.

Instalace

Nainstalujte klientskou knihovnu Azure Communication Email pro Python pomocí příkazu pip:

pip install azure-communication-email

Příklady

EmailClient poskytuje funkci pro odesílání e-mailových zpráv.

Authentication

Email klienty je možné ověřit pomocí připojovacího řetězce získaného z komunikačního prostředku Azure na webu Azure Portal.

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);

Alternativně můžete použít také ověřování active directory pomocí DefaultAzureCredential.

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 klienty je také možné ověřovat pomocí AzureKeyCredential.

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);

Odeslání Email zprávy

Pokud chcete odeslat e-mailovou begin_send zprávu, zavolejte funkci z .EmailClient To vrátí poller. Pomocí tohoto nástroje můžete zkontrolovat stav operace a po dokončení načíst výsledek.

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()

Odeslání Email zprávy více příjemcům

Pokud chcete poslat e-mailovou zprávu více příjemcům, přidejte objekt pro každý typ příjemce a objekt pro každého příjemce.

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()

Odeslat Email s přílohami

Azure Communication Services podporu odesílání e-mailů s přílohami.

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()

Řešení potíží

Email operace vyvolají výjimku, pokud požadavek na server selže. Klient Email vyvolá výjimky definované v Azure Core.

from azure.core.exceptions import HttpResponseError

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

Další kroky

Přispívání

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete v cla.microsoft.com.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo kontaktujte s opencode@microsoft.com případnými dalšími dotazy nebo připomínkami.