你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Java 的 Azure 通信Email客户端库 - 版本 1.0.7
此包包含 java SDK for Azure 通信服务 for Email。
入门
先决条件
- Azure 订阅
- 通信服务资源
- 使用活动域Email通信资源
- Java 开发工具包 (JDK) 8 或更高版本
- Apache Maven
若要创建这些资源,可以使用 Azure 门户、Azure PowerShell或 .NET 管理客户端库。
添加包
包括 BOM 文件
请将 azure-sdk-bom 包含在项目中,以依赖于库的正式发布 (GA) 版本。 在以下代码段中,将 {bom_version_to_target} 占位符替换为版本号。 若要详细了解 BOM,请参阅 AZURE SDK BOM 自述文件。
<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>
然后在没有版本标记的依赖项部分中包含直接依赖项。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
</dependency>
</dependencies>
包括直接依赖项
如果要依赖于 BOM 中不存在的特定版本的库,请将直接依赖项添加到项目中,如下所示。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.7</version>
</dependency>
关键概念
更多详细信息即将推出。
示例
EmailClient
提供发送电子邮件的功能。
客户端创建和身份验证
可以使用从 Azure 门户中的 Azure 通信资源获取的连接字符串创建和验证Email客户端。
String connectionString = "https://<resource-name>.communication.azure.com/;<access-key>";
EmailClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildClient();
还可以使用从 Azure 门户中的 Azure 通信资源获取的终结点和 Azure 密钥凭据来创建Email客户端并对其进行身份验证。
String endpoint = "https://<resource-name>.communication.azure.com";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key>");
EmailClient emailClient = new EmailClientBuilder()
.endpoint(endpoint)
.credential(azureKeyCredential)
.buildClient();
Azure Active Directory 令牌身份验证
必须通过 credential()
方法将 DefaultAzureCredential
对象传递给 EmailClientBuilder
。 还必须通过 endpoint()
方法设置终结点。
需要 AZURE_CLIENT_SECRET
、AZURE_CLIENT_ID
和 AZURE_TENANT_ID
环境变量才能创建 DefaultAzureCredential
对象。
// 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();
发送Email消息
若要发送电子邮件,请从 EmailClient
调用 beginSend
函数。 这将返回一个轮询器。 可以使用此轮询器检查操作的状态,并在操作完成后检索结果。
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());
向多个收件人发送Email邮件
若要向多个收件人发送电子邮件,只需在相应的 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());
若要进一步自定义电子邮件收件人,可以实例化 EmailAddress
对象并将其传递给相应的“EmailMessage”资源库。
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());
使用附件发送Email
Azure 通信服务支持发送包含附件的电子邮件。
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());
疑难解答
更多详细信息即将推出,
后续步骤
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 cla.microsoft.com。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。