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.
Azure SDK for Python