Heroku Java アプリで Aspose.Email Cloud を使用してメールを送信する

この記事は、Heroku プラットフォームで Java アプリをセットアップするのに役立ちます。クラウドで Java アプリを使用して電子メールを送信するために Aspose.Email Cloud を使用する方法について説明します。

Heroku は、開発者がクラウド内でアプリケーションを完全に構築、実行、および操作できるようにするサービスとしてのプラットフォーム (PaaS) です。Java を含む複数のプログラミング言語をサポートしています。Heroku を使用すると、Java アプリを簡単にデプロイおよび拡張できます。Tomcat や Jetty などのアプリケーション サーバーの標準ライブラリを使用する場合でも、Spring や Play などのフレームワークを使用する場合でも、Heroku は、お気に入りのツールで独自の方法で構築するのに役立ちます。このブログでは、Java アプリを Heroku にデプロイする方法について説明します。この記事では、Aspose.Email Cloud を理解し、Heroku Java アプリを使用して電子メールを送信する方法について説明します。この記事では、無料の Heroku アカウントが設定されており、Java 8 と Maven 3 がローカルにインストールされていることを前提としています。Maven は、主に Java プロジェクト用の POM (プロジェクト オブジェクト モデル) に基づく強力なプロジェクト管理ツールです。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 アプリケーションが含まれている必要があります。アプリケーションには、Heroku アプリで使用される特別なプレーンテキスト ファイルである Procfile が含まれています。このファイルで、アプリを起動するために使用するプロセスとコマンドを明示的に宣言します。

サンプル アプリのソース コードの Procfile は次のようになります。

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

このファイルは、単一のプロセス タイプ web と、それを実行するために必要なコマンドを宣言します。web という名前は重要です。これは、このプロセス タイプが Heroku の HTTP ルーティング スタックに接続され、Web トラフィックを受信できることを宣言します。Procfiles には、追加のプロセス タイプを含めることができます。たとえば、キューからアイテムを処理するバックグラウンド ワーカーを宣言できます。サンプル アプリには、Java の依存関係マネージャーである Maven によって使用される pom.xml ファイルも含める必要があります。Heroku は、ルート ディレクトリに pom.xml ファイルが含まれている場合、アプリを Java アプリとして自動的に識別します。

もう 1 つのファイル 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 アプリにデプロイされます。

$ 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 など、多くのプログラミング言語をサポートしています。この記事がお役に立てば幸いです。

探検する