Partager via


Bibliothèque de client Azure Communication Email pour Python - version 1.0.0

Ce package contient un Kit de développement logiciel (SDK) Python pour Azure Communication Services pour Email.

Concepts clés

Le package Azure Communication Email est utilisé pour envoyer des e-mails à plusieurs types de destinataires.

Prise en main

Prérequis

Vous avez besoin d’un abonnement Azure, d’une ressource Communication Service et d’une ressource de communication Email avec un domaine actif.

Pour créer ces ressources, vous pouvez utiliser le portail Azure, le Azure PowerShell ou la bibliothèque de client de gestion .NET.

Installation de

Installez la bibliothèque de client Azure Communication Email pour Python avec pip :

pip install azure-communication-email

Exemples

EmailClient fournit la fonctionnalité d’envoi de messages électroniques.

Authentification

Email clients peuvent être authentifiés à l’aide de la chaîne de connexion acquise à partir d’une ressource de communication Azure dans le portail Azure.

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

Vous pouvez également utiliser l’authentification Active Directory à l’aide de 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())

Les clients de messagerie peuvent également être authentifiés à l’aide de 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);

Envoyer un message Email

Pour envoyer un e-mail, appelez la fonction begin_send à partir de EmailClient. Un polleur est alors retourné. Vous pouvez utiliser ce polleur pour case activée sur le status de l’opération et récupérer le résultat une fois qu’il est terminé.

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

Envoyer un message Email à plusieurs destinataires

Pour envoyer un e-mail à plusieurs destinataires, ajoutez un objet pour chaque type de destinataire et un objet pour chaque destinataire.

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

Envoyer Email avec pièces jointes

Azure Communication Services prise en charge de l’envoi d’e-mails avec des pièces jointes.

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

Dépannage

Email opérations lèvent une exception en cas d’échec de la demande adressée au serveur. Le client Email déclenche des exceptions définies dans Azure Core.

from azure.core.exceptions import HttpResponseError

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

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.