在 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 服務和網頁提供預設結構。 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。現在您有一個可運行的 git 儲存庫,其中包含一個簡單的應用程式以及 Ruby 的依賴管理器 bundler 使用的 Gemfile 檔案。

$ 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。希望本文對您有幫助。

探索