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

Heroku はサービスとしてのプラットフォーム (PaaS) です。この記事では、Heroku Python アプリの設定方法と、電子メールの送信に Aspose.Email Cloud を使用する方法について説明します。

Heroku は、開発者がクラウド内でアプリケーションを完全に構築、実行、操作できるようにするサービスとしてのプラットフォーム (PaaS) です。複数のプログラミング言語をサポートしています。このブログでは、Heroku (Python アプリ) へのデプロイ方法について説明します。この記事は、Aspose.Email Cloud を理解し、Heroku Python アプリを使用して電子メールを送信する方法を説明します。この記事では、無料の Heroku アカウントが既にセットアップされており、Python と pip がローカルにインストールされていることを前提としています。さあ、始めましょう!

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

Python と Pip がすでにインストールされていると仮定します。これで、シンプルなアプリケーション、使用する Python バージョンを指定するruntime.txt、および Python の依存関係マネージャーである Pip によって使用される requirements.txt を含む、機能する git リポジトリが作成されました。

$ mkdir my-email-sending-app
$ cd my-email-sending-app
$ pip install aspose-email-cloud

Pythonファイルに次のコードを追加します

from AsposeEmailCloudSdk import api #EmailApi class is here
from AsposeEmailCloudSdk import models #REST API models are here

// Setup App Credentials 
client_secret = 'Your Client secret'
client_id = 'Your Client id'

email_cloud = api.EmailCloud(client_secret, client_id)

credentials = models.EmailClientAccountPasswordCredentials(
    'example@gmail.com', 'password')

// Setup an email account for email sending
send_account_dto = models.EmailClientAccount(
    'smtp.gmail.com', 465, 'SSLAuto', 'SMTP', credentials)
smtp_account = 'smtp.account'
smtp_location = models.StorageFileLocation(
    storage_name, account_folder, smtp_account)

api.client.account.save(
    models.ClientAccountSaveRequest(
        smtp_location, send_account_dto))

email_document = models.EmailDto(
    _from=models.MailAddress('From Name', 'example@gmail.com'),
    to=[models.MailAddress('To Name', 'to@aspose.com')],
    subject='Some subject',
    body='Some body')

api.client.message.send(
    models.ClientMessageSendRequest(
        smtp_location, models.MailMessageDto(email_document)))

Heroku へのデプロイ (Python アプリ)

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

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

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

$ git push heroku main

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

結論

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

探検する