Biblioteca de cliente do Azure Communication Email para Python – versão 1.0.0
Este pacote contém um SDK Python para Azure Communication Services para Email.
Conceitos-chave
O pacote de Email de Comunicação do Azure é utilizado para enviar e-mails para vários tipos de destinatários.
Introdução
Pré-requisitos
Precisa de uma subscrição do Azure, de um Recurso do Serviço de Comunicação e de um Recurso de Comunicação Email com um Domínio ativo.
Para criar estes recursos, pode utilizar o Portal do Azure, o Azure PowerShell ou a biblioteca de cliente de gestão .NET.
Instalação
Instale a biblioteca de cliente do Azure Communication Email para Python com pip:
pip install azure-communication-email
Exemplos
EmailClient
fornece a funcionalidade para enviar mensagens de e-mail.
Autenticação
Email clientes podem ser autenticados com a cadeia de ligação adquirida a partir de um Recurso de Comunicação do Azure no Portal do 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);
Em alternativa, também pode utilizar a autenticação do Active Directory com 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 clientes também podem ser autenticados com um 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);
Enviar uma Mensagem de Email
Para enviar uma mensagem de e-mail, chame a begin_send
função a partir de EmailClient
. Isto devolverá um poller. Pode utilizar este poller para verificar o estado da operação e obter o resultado assim que terminar.
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()
Enviar uma Mensagem de Email para Vários Destinatários
Para enviar uma mensagem de e-mail a vários destinatários, adicione um objeto para cada tipo de destinatário e um objeto para cada destinatário.
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()
Enviar Email com Anexos
Azure Communication Services suporte para o envio de e-mails com anexos.
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()
Resolução de problemas
Email operações gerarão uma exceção se o pedido ao servidor falhar. O cliente Email irá gerar exceções definidas no Azure Core.
from azure.core.exceptions import HttpResponseError
try:
response = email_client.send(message)
except HttpResponseError as ex:
print('Exception:')
print(ex)
Passos seguintes
Contribuir
Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou o contacto opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.
Azure SDK for Python