Share via


Azure Communication Email-klientbibliotek för Python – version 1.0.0

Det här paketet innehåller en Python SDK för Azure Communication Services för Email.

Viktiga begrepp

Azure Communication Email-paketet används för att skicka e-postmeddelanden till flera typer av mottagare.

Komma igång

Förutsättningar

Du behöver en Azure-prenumeration, en kommunikationstjänstresurs och en Email kommunikationsresurs med en aktiv domän.

Om du vill skapa den här resursen kan du använda Azure Portal, Azure PowerShell eller .NET-hanteringsklientbiblioteket.

Installation

Installera Azure Communication Email-klientbiblioteket för Python med pip:

pip install azure-communication-email

Exempel

EmailClient tillhandahåller funktioner för att skicka e-postmeddelanden.

Autentisering

Email klienter kan autentiseras med hjälp av anslutningssträngen som hämtats från en Azure-kommunikationsresurs i Azure-portalen.

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

Du kan också använda Active Directory-autentisering med 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 klienter kan också autentiseras med hjälp av en 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);

Skicka ett Email meddelande

Om du vill skicka ett e-postmeddelande anropar du begin_send funktionen från EmailClient. Detta returnerar en poller. Du kan använda den här pollern för att kontrollera åtgärdens status och hämta resultatet när den är klar.

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

Skicka ett Email meddelande till flera mottagare

Om du vill skicka ett e-postmeddelande till flera mottagare lägger du till ett objekt för varje mottagartyp och ett objekt för varje mottagare.

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

Skicka Email med bifogade filer

Azure Communication Services stöd för att skicka e-post med bifogade filer.

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

Felsökning

Email åtgärder utlöser ett undantag om begäran till servern misslyckas. Den Email klienten genererar undantag som definierats i Azure Core.

from azure.core.exceptions import HttpResponseError

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

Nästa steg

Bidra

Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns i cla.microsoft.com.

Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekod eller kontakt opencode@microsoft.com med ytterligare frågor eller kommentarer.