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.
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för