Megosztás a következőn keresztül:


Azure Communication Email Python ügyfélkódtár – 1.0.0-s verzió

Ez a csomag egy Python SDK-t tartalmaz Azure Communication Services Email számára.

Fő fogalmak

Az Azure Communication Email csomag segítségével e-maileket küldhet több címzettnek.

Első lépések

Előfeltételek

Szüksége van egy Azure-előfizetésre, egy kommunikációs szolgáltatási erőforrásra és egy aktív tartományt tartalmazó Email kommunikációs erőforrásra.

Az erőforrás létrehozásához használhatja az Azure Portalt, a Azure PowerShell vagy a .NET felügyeleti ügyfélkódtárat.

Telepítés

Telepítse a Pythonhoz készült Azure Communication Email ügyfélkódtárat a pip használatával:

pip install azure-communication-email

Példák

EmailClient biztosítja az e-mailek küldéséhez használható funkciókat.

Hitelesítés

Email ügyfelek hitelesíthetők az Azure Portalon egy Azure-beli kommunikációs erőforrásból beszerzett kapcsolati sztring használatával.

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

Alternatív megoldásként az Active Directory-hitelesítést is használhatja a DefaultAzureCredential használatával.

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 ügyfelek azureKeyCredential használatával is hitelesíthetők.

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

Email üzenet küldése

Ha e-mailt szeretne küldeni, hívja meg a függvényt a begin_sendEmailClientkövetkezőből: . Ez egy szavazót ad vissza. Ezzel a lekérdezéssel ellenőrizheti a művelet állapotát, és lekérheti az eredményt, miután végzett.

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

Email üzenet küldése több címzettnek

Ha több címzettnek szeretne e-mailt küldeni, adjon hozzá egy objektumot az egyes címzetttípusokhoz, és minden címzetthez egy objektumot.

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 küldése mellékletekkel

Azure Communication Services támogatja a mellékletekkel ellátott e-mailek küldését.

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

Hibaelhárítás

Email műveletek kivételt jeleznek, ha a kiszolgálóra irányuló kérés meghiúsul. Az Email-ügyfél kivételeket hoz létre az Azure Core-ban.

from azure.core.exceptions import HttpResponseError

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

Következő lépések

Közreműködés

A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. A részletekért látogasson el a cla.microsoft.com.

A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.