在 Heroku Java 應用程式中使用 Aspose.Email Cloud 發送電子郵件

本文可協助您在 Heroku 平台上設定 Java 應用程式。它解釋瞭如何使用 Aspose.Email Cloud 透過雲端中的 Java App 發送電子郵件。

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 儲存庫應該包含一個簡單的 Java 應用程式。該應用程式包括一個 Procfile,這是 Heroku 應用程式使用的一個特殊的純文字檔案。您可以在此文件中明確聲明用於啟動應用程式的流程和命令。

範例應用程式原始碼中的 Procfile 如下所示:

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

該文件聲明了單一進程類型、web 以及運行它所需的命令。網這個名字很重要。它聲明此進程類型附加到 Heroku 的 HTTP 路由堆疊,並且能夠接收網路流量。 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 不僅用於發送電子郵件。相反,它是一個雲端 SDK,用於發送、接收、附加、標記和轉換雲端電子郵件,並支援在雲端中建立用於電子郵件存檔的資料夾結構。這是一個易於使用且快速的 API,無需安裝附加軟體。該 API 支援多種程式語言,例如 C#、Java、PHP、Python、Ruby 和 Typescript。希望本文對您有幫助。

探索