Delen via


Azure Communication Email-clientbibliotheek voor Python - versie 1.0.0

Dit pakket bevat een Python SDK voor Azure Communication Services voor Email.

Belangrijkste concepten

Het Azure Communication Email-pakket wordt gebruikt om e-mailberichten te verzenden naar meerdere typen geadresseerden.

Aan de slag

Vereisten

U hebt een Azure-abonnement, een Communication Service-resource en een Email Communication-resource met een actief domein nodig.

Als u deze resource wilt maken, kunt u de Azure-portal, de Azure PowerShell of de .NET-beheerclientbibliotheek gebruiken.

Installeren

Installeer de Azure Communication Email-clientbibliotheek voor Python met pip:

pip install azure-communication-email

Voorbeelden

EmailClient biedt de functionaliteit voor het verzenden van e-mailberichten.

Verificatie

Email-clients kunnen worden geverifieerd met behulp van de connection string verkregen van een Azure Communication-resource in de 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);

U kunt ook Active Directory-verificatie gebruiken met behulp van 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-clients kunnen ook worden geverifieerd met behulp van een 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);

Een Email-bericht verzenden

Als u een e-mailbericht wilt verzenden, roept u de begin_send functie aan vanuit de EmailClient. Hiermee wordt een poller geretourneerd. U kunt deze poller gebruiken om de status van de bewerking te controleren en het resultaat op te halen zodra deze is voltooid.

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

Een Email-bericht verzenden naar meerdere geadresseerden

Als u een e-mailbericht naar meerdere geadresseerden wilt verzenden, voegt u een object toe voor elk type geadresseerde en een object voor elke geadresseerde.

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

Email met bijlagen verzenden

Azure Communication Services ondersteuning voor het verzenden van e-mail met bijlagen.

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

Problemen oplossen

Email bewerkingen genereren een uitzondering als de aanvraag naar de server mislukt. De Email-client genereert uitzonderingen die zijn gedefinieerd in Azure Core.

from azure.core.exceptions import HttpResponseError

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

Volgende stappen

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar cla.microsoft.com voor meer informatie.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie de Veelgestelde vragen over de gedragscode voor meer informatie of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.