Heroku Ruby on Rails で Aspose.Email Cloud を使用してメールを送信する

Ruby on Rails は、サーバー側の Web アプリ フレームワークです。この記事では、Ruby on Rails 用の Heroku アプリの設定方法と、電子メールの送信に Aspose.Email Cloud を使用する方法について説明します。

Ruby on Rails は、Ruby で書かれたサーバーサイド Web アプリケーション フレームワークです。Rails はモデル ビュー コントローラー フレームワークで、データベース、Web サービス、Web ページのデフォルト構造を提供します。Heroku は、開発者がアプリケーションを完全にクラウドで構築、実行、操作できるようにするサービスとしてのプラットフォーム (PaaS) です。Ruby on Rails を含むいくつかのプログラミング言語をサポートしています。このブログでは、Ruby on Rails アプリケーションを Heroku にデプロイする方法について説明します。この記事は、Aspose.Email Cloud を理解し、Heroku Ruby on Rails を使用して電子メールを送信する方法を理解するのに役立ちます。この記事では、無料の Heroku アカウントが既にセットアップされており、Ruby と Bundler がローカルにインストールされていることを前提としています。Bundler は、必要な gem とバージョンを正確に追跡してインストールすることで、Ruby プロジェクトに一貫した環境を提供します。さあ、始めましょう!

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 を使用したメール送信

Ruby 2.7 と Bundler がすでにインストールされていると仮定します。これで、Ruby の依存関係マネージャーである bundler によって使用される、シンプルなアプリケーションと Gemfile ファイルを含む、機能する git リポジトリが作成されました。

$ mkdir my-email-sending-app
$ cd my-email-sending-app
$ gem install aspose_email_cloud

Rubyプロジェクトに次のコードを追加します

require 'aspose-email-cloud'
include AsposeEmailCloud

// Setup App Credentials 
@api = EmailCloud.new('client_secret', 'client_id')

credentials = EmailClientAccountPasswordCredentials.new(
  login: 'example@gmail.com', password: 'password')

// Setup an email account for email sending
send_account_dto = EmailClientAccount.new(
  host: 'smtp.gmail.com',
  port: 465,
  security_options: 'SSLAuto',
  protocol_type: 'SMTP',
  credentials: credentials)
smtp_account = 'smtp.account'
smtp_location = StorageFileLocation.new(
  storage: storage_name,
  folder_path: account_folder,
  file_name: smtp_account)
# Save account
api.client.account.save(ClientAccountSaveRequest.new(
  storage_file: smtp_location, value: send_account_dto))

email = EmailDto.new(
  from: MailAddress.new(address: 'example@gmail.com'),
  to: [MailAddress.new(address: 'to@aspose.com')],
  subject: 'Some subject',
  body: 'Some body'
)

api.client.message.send(
  ClientMessageSendRequest.new(
    account_location: smtp_location,
    message: MailMessageDto.new(value: email)))

Heroku へのデプロイ (Ruby on Rails)

すべての変更が完了し、Heroku (Ruby on Rails) にデプロイする準備ができたら、次のコマンドを使用して変更を Heroku にプッシュできます。

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

これにより、Heroku に Git リポジトリが作成され、このリポジトリにプッシュしたものはすべて Heroku (Ruby on Rails) にデプロイされます。

$ git push heroku main

これで、heroku open コマンドを使用してアプリケーションを開くことができます。

結論

この記事では、Heroku プラットフォーム アズ ア サービス (PaaS) について、また、開発者がアプリケーションを完全にクラウドで構築、実行、操作できるようにする方法について学びました。また、Heroku Ruby on Rails の設定方法も学びました。また、Aspose.Email Cloud についても調べ、メール送信用の SMTP メール クライアントの設定に使用しました。Aspose.Email Cloud は、メール送信のためだけのものではありません。クラウド メールの送信、受信、追加、フラグ付け、変換を行うクラウド SDK であり、クラウドでのメール アーカイブ用のフォルダー構造の作成もサポートします。これは使いやすく高速な API であり、追加のソフトウェアをインストールする必要はありません。API は、C#、Java、PHP、Python、Ruby、Typescript など、多くのプログラミング言語をサポートしています。この記事がお役に立てば幸いです。

探検する