在 Heroku Java 应用程序中使用 Aspose.Email Cloud 发送电子邮件

本文帮助您在 Heroku 平台上设置 Java 应用程序。它解释了如何使用 Aspose.Email Cloud 在云中使用 Java 应用程序发送电子邮件。

Heroku 是一个平台即服务 (PaaS),它使开发人员能够完全在云中构建、运行和操作应用程序。它支持多种编程语言,包括 Java。Heroku 使部署和扩展 Java 应用程序变得容易。无论您使用 Tomcat 或 Jetty 等应用程序服务器的标准库,还是使用 Spring 或 Play 等框架,Heroku 都可以帮助您使用您喜欢的工具以自己的方式构建应用程序。本博客将指导您如何将 Java 应用程序部署到 Heroku。本文将帮助您了解 Aspose.Email Cloud,以及如何使用它通过 Heroku Java App 发送电子邮件。本文假设您已经有一个免费的 Heroku 帐户设置,并且在本地安装了 Java 8 和 Maven 3。Maven 是一个功能强大的项目管理工具,它基于 POM(项目对象模型),主要用于 Java 项目。Maven 还可用于构建和管理用 C#、Ruby、Scala 和其他语言编写的项目。它用于项目构建、依赖和文档。它像 ANT 一样简化了构建过程。但它比 ANT 先进太多了。简而言之,我们可以说 maven 是一个可用于构建和管理任何基于 Java 的项目的工具。maven 使 Java 开发人员的日常工作变得更加轻松,并且通常有助于理解任何基于 Java 的项目。让我们开始吧!

设置 Heroku

首先,您需要安装 Heroku 命令行界面 (CLI)。Heroku CLI 用于管理和执行各种可扩展性任务。您可以使用它来配置附加组件、查看应用程序日志并在本地运行应用程序。如果您使用的是 macOS,则可以使用 Homebrew 安装它,也可以访问官方 Heroku。

brew install heroku/brew/heroku

安装完成后,您可以运行以下命令来验证 Heroku 以供本地使用。

heroku login
heroku: Press any key to open up the browser to login or q to exit
 ›   Warning: If browser does not open, visit
 ›   https://cli-auth.heroku.com/auth/browser/\*\*\*
heroku: Waiting for login...
Logging in... done
Logged in as me@example.com

此命令将打开浏览器,进入 Heroku 登录页面进行身份验证。这是 Heroku 和 git 命令正常运行所必需的

设置 Aspose.Email Cloud

Aspose.Email Cloud 是一个云 SDK,用于发送、接收、附加、标记和转换云电子邮件,并支持创建用于在云中归档电子邮件的文件夹结构。这是一个易于使用且快速的 API,无需安装其他软件。该 API 支持多种编程语言,例如 C#、Java、PHP、Python、Ruby 和 Typescript。要设置 Aspose.Email Cloud,请按照以下说明进行操作。

登录 Aspose.Cloud 仪表板并单击左侧边栏中的“应用程序”选项卡。现在向下滚动,单击“创建新应用程序”按钮,如下图所示。

Aspose.Email Cloud 设置邮件发送账户

现在,通过选择默认存储来创建新应用程序,如下图所示。您还可以按照如何配置第三方云存储指南配置第三方存储来上传数据文件。

Aspose.Email Cloud 设置邮件发送账户

现在,向下滚动到客户端凭证部分以复制客户端 ID 和客户端密钥,如下图所示。

Aspose.Email Cloud 设置邮件发送账户

使用 Aspose.Email Cloud 发送电子邮件

假设您已经安装了 Java 8 和 Maven 3。现在您有一个包含简单应用程序的正常运行的 git 存储库。这个正常运行的 Git 存储库应该包含一个简单的 Java 应用程序。该应用程序包括一个 Procfile,这是 Heroku 应用程序使用的特殊纯文本文件。您在此文件中明确声明用于启动应用程序的流程和命令。

示例应用程序源代码中的 Procfile 如下所示:

web: java -jar target/java-getting-started-1.0.jar

此文件声明了一个进程类型 web,以及运行它所需的命令。名称 web 很重要。它声明此进程类型附加到 Heroku 的 HTTP 路由堆栈,并且能够接收 web 流量。Procfiles 可以包含其他进程类型。例如,您可以声明一个处理队列中项目的后台工作程序。示例应用程序还应包含一个 pom.xml 文件,该文件由 Java 的依赖项管理器 Maven 使用。如果应用程序在根目录中包含 pom.xml 文件,Heroku 会自动将其识别为 Java 应用程序。

另一个文件 system.properties 指示要使用的 Java 版本。此可选文件的内容如下:

java.runtime.version=1.8

首先在你的项目中添加存储库

<repository>
    <id>aspose-cloud</id>
    <name>Aspose.Cloud repository</name>
    <url>https://repository.aspose.cloud/repo</url>
</repository>

然后添加依赖项

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email-cloud</artifactId>
</dependency>

在您的项目中添加以下代码以发送电子邮件

import com.aspose.email.cloud.sdk.invoker.ApiException;
import com.aspose.email.cloud.sdk.model.\*;
import com.aspose.email.cloud.sdk.api.\*;

EmailCloud api = new EmailCloud("Your Client secret", "Your Client id");

EmailClientAccountPasswordCredentials credentials =
    new EmailClientAccountPasswordCredentials(
        "example@gmail.com", "password");

// Setup an email account for email sending
EmailClientAccount sendAccountDto = new EmailClientAccount(
    "smtp.gmail.com", 465, "SSLAuto", "SMTP", credentials);
String smtpAccount = "smtp.account";
String smtpLocation = new StorageFileLocation(
    storageName, accountFolder, smtpAccount);
api.client().account().save(new ClientAccountSaveRequest(
    smtpLocation, sendAccountDto));

EmailDto email = new EmailDto()
    .from(new MailAddress().address("example@gmail.com"))
    .addToItem(new MailAddress().address("to@aspose.com"))
    .subject("Some subject")
    .body("Some body");

api.client().message().send(
    new ClientMessageSendRequest(
        smtpLocation, new MailMessageDto(email)));

部署至 Heroku(Java 应用程序)

完成所有更改并准备部署到 Heroku(Java 应用程序)后,您可以使用以下命令将更改推送到 Heroku。

$ heroku create
Creating sharp-rain-321... done, stack is heroku-20
https://sharp-rain-221.herokuapp.com/ | https://git.heroku.com/sharp-rain-321.git
Git remote heroku added

这将在 Heroku 上创建一个 git 存储库,并且您推送到该存储库的任何内容都将部署到 Heroku Java App。

$ git push heroku main

现在您可以使用 heroku open 命令打开您的应用程序。

结论

本文是系列文章的一部分,该系列文章介绍了 Heroku 平台以及它如何使开发人员能够完全在云中构建、运行和操作应用程序。我们还学习了如何设置 Heroku Java 应用程序。我们还探索了 Aspose.Email Cloud,并用于设置用于发送电子邮件的 SMTP 电子邮件客户端。Aspose.Email Cloud 不仅仅用于发送电子邮件。相反,它是一个 Cloud SDK,用于发送、接收、附加、标记和转换云电子邮件,并支持在云中创建用于电子邮件存档的文件夹结构。这是一个易于使用且快速的 API,无需安装其他软件。该 API 支持许多编程语言,例如 C#、Java、PHP、Python、Ruby 和 Typescript。希望本文对您有所帮助。

探索