Biblioteca de clientes do Email de Comunicação do Azure para Java – versão 1.0.7
Esse pacote contém o SDK do Java para Serviços de Comunicação do Azure para Email.
Introdução
Pré-requisitos
- Assinatura do Azure
- Recurso do Serviço de Comunicação
- Email recurso de comunicação com um domínio ativo
- Java Development Kit (JDK) versão 8 ou superior
- Apache Maven
Para criar esses recursos, você pode usar o Portal do Azure, o Azure PowerShell ou a biblioteca de clientes de gerenciamento do .NET.
Incluir o pacote
Incluir o arquivo da BOM
Inclua o azure-sdk-bom em seu projeto para assumir a dependência da versão ga (disponibilidade geral) da biblioteca. No trecho a seguir, substitua o espaço reservado {bom_version_to_target} pelo número de versão. Para saber mais sobre a BOM, consulte o BOM README do SDK do AZURE.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Depois, inclua a dependência direta na seção de dependências sem a marca de versão.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
</dependency>
</dependencies>
Incluir dependência direta
Se você quiser assumir a dependência de uma versão específica da biblioteca que não está presente na BOM, adicione a dependência direta ao seu projeto da seguinte maneira.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.7</version>
</dependency>
Principais conceitos
Mais detalhes em breve.
Exemplos
EmailClient
fornece a funcionalidade para enviar mensagens de email .
Criação e autenticação do cliente
Email clientes podem ser criados e autenticados usando o cadeia de conexão adquirido de um Recurso de Comunicação do Azure no Portal do Azure.
String connectionString = "https://<resource-name>.communication.azure.com/;<access-key>";
EmailClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildClient();
Email clientes também podem ser criados e autenticados usando o ponto de extremidade e a Credencial de Chave do Azure adquiridas de um Recurso de Comunicação do Azure no Portal do Azure.
String endpoint = "https://<resource-name>.communication.azure.com";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key>");
EmailClient emailClient = new EmailClientBuilder()
.endpoint(endpoint)
.credential(azureKeyCredential)
.buildClient();
Autenticação de Token do Azure Active Directory
Um DefaultAzureCredential
objeto deve ser passado para o EmailClientBuilder
por meio do credential()
método . Um ponto de extremidade também deve ser definido por meio do endpoint()
método .
AZURE_CLIENT_SECRET
, AZURE_CLIENT_ID
e as AZURE_TENANT_ID
variáveis de ambiente são necessárias para criar um objetoDefaultAzureCredential
.
// You can find your endpoint and access key from your resource in the Azure Portal
String endpoint = "https://<resource-name>.communication.azure.com/";
EmailClient emailClient = new EmailClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Enviar uma mensagem de Email
Para enviar um e-mail, busque a beginSend
função do EmailClient
. Isso retornará um sondador. Você pode usar esse sondador para marcar no status da operação e recuperar o resultado depois que ele for concluído.
EmailMessage message = new EmailMessage()
.setSenderAddress("<sender-email-address>")
.setToRecipients("<recipient-email-address>")
.setSubject("test subject")
.setBodyPlainText("test message");
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message);
PollResponse<EmailSendResult> response = poller.waitForCompletion();
System.out.println("Operation Id: " + response.getValue().getId());
Enviar uma mensagem de Email para vários destinatários
Para enviar uma mensagem de email a vários destinatários, basta adicionar os novos endereços no setter apropriado EmailMessage
.
EmailMessage message = new EmailMessage()
.setSenderAddress("<sender-email-address>")
.setSubject("test subject")
.setBodyPlainText("test message")
.setToRecipients("<recipient-email-address>", "<recipient-2-email-address>")
.setCcRecipients("<cc-recipient-email-address>")
.setBccRecipients("<bcc-recipient-email-address>");
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message);
PollResponse<EmailSendResult> response = poller.waitForCompletion();
System.out.println("Operation Id: " + response.getValue().getId());
Para personalizar ainda mais os destinatários da mensagem de email, você pode instanciar os EmailAddress
objetos e passá-los para os setters 'EmailMessage' apropriados.
EmailAddress toAddress1 = new EmailAddress("<recipient-email-address>")
.setDisplayName("Recipient");
EmailAddress toAddress2 = new EmailAddress("<recipient-2-email-address>")
.setDisplayName("Recipient 2");
EmailMessage message = new EmailMessage()
.setSenderAddress("<sender-email-address>")
.setSubject("test subject")
.setBodyPlainText("test message")
.setToRecipients(toAddress1, toAddress2);
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message);
PollResponse<EmailSendResult> response = poller.waitForCompletion();
System.out.println("Operation Id: " + response.getValue().getId());
Enviar Email com Anexos
Serviços de Comunicação do Azure dar suporte ao envio de email com anexos.
BinaryData attachmentContent = BinaryData.fromFile(new File("C:/attachment.txt").toPath());
EmailAttachment attachment = new EmailAttachment(
"attachment.txt",
"text/plain",
attachmentContent
);
EmailMessage message = new EmailMessage()
.setSenderAddress("<sender-email-address>")
.setToRecipients("<recipient-email-address>")
.setSubject("test subject")
.setBodyPlainText("test message")
.setAttachments(attachment);
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message);
PollResponse<EmailSendResult> response = poller.waitForCompletion();
System.out.println("Operation Id: " + response.getValue().getId());
Solução de problemas
Mais detalhes em breve,
Próximas etapas
Contribuição
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.