Biblioteka klienta usługi Azure Communication Email dla języka Python — wersja 1.0.0
Ten pakiet zawiera zestaw SDK języka Python dla Azure Communication Services dla Email.
Kluczowe pojęcia
Pakiet Email usługi Azure Communication służy do wysyłania wiadomości e-mail do wielu typów adresatów.
Wprowadzenie
Wymagania wstępne
Potrzebna jest subskrypcja platformy Azure, zasób usługi komunikacji i zasób komunikacji Email z aktywną domeną.
Aby utworzyć ten zasób, możesz użyć witryny Azure Portal, Azure PowerShell lub biblioteki klienta zarządzania platformy .NET.
Instalowanie
Zainstaluj bibliotekę klienta usługi Azure Communication Email dla języka Python przy użyciu narzędzia pip:
pip install azure-communication-email
Przykłady
EmailClient
udostępnia funkcje wysyłania wiadomości e-mail.
Authentication
Email klientów można uwierzytelnić przy użyciu parametrów połączenia uzyskanych z zasobu komunikacji platformy Azure w witrynie 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);
Alternatywnie można również użyć uwierzytelniania usługi Active Directory przy użyciu opcji 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 klientów można również uwierzytelniać przy użyciu obiektu 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);
Wysyłanie komunikatu Email
Aby wysłać wiadomość e-mail, wywołaj begin_send
funkcję z pliku EmailClient
. Spowoduje to zwrócenie pollera. Możesz użyć tego narzędzia poller, aby sprawdzić stan operacji i pobrać wynik po zakończeniu.
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()
Wysyłanie wiadomości Email do wielu adresatów
Aby wysłać wiadomość e-mail do wielu adresatów, dodaj obiekt dla każdego typu adresata i obiekt dla każdego adresata.
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()
Wysyłanie Email z załącznikami
Azure Communication Services obsługa wysyłania wiadomości e-mail z załącznikami.
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()
Rozwiązywanie problemów
Email operacje zgłaszają wyjątek, jeśli żądanie do serwera zakończy się niepowodzeniem. Klient Email zgłosi wyjątki zdefiniowane w usłudze Azure Core.
from azure.core.exceptions import HttpResponseError
try:
response = email_client.send(message)
except HttpResponseError as ex:
print('Exception:')
print(ex)
Następne kroki
Współtworzenie
W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę cla.microsoft.com.
W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.
Azure SDK for Python