在 Heroku PHP 应用程序中使用 Aspose.Email Cloud 发送电子邮件

有关如何设置 Heroku PHP 应用程序以及如何在 PHP 应用程序中使用 Aspose.Email Cloud 发送电子邮件的教程。

本博客将指导您如何部署到 Heroku(PHP 应用程序)。本文将帮助您了解 Aspose.Email Cloud,以及如何使用它通过 Heroku PHP 应用程序发送电子邮件。本文假设您已经设置了免费的 Heroku 帐户,并在本地安装了 PHP 和 Composer。让我们开始吧!

设置 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 发送电子邮件

假设您已经安装了 PHP 和 Composer。Heroku 使用 Composer 来管理 PHP 项目中的依赖项,并且 composer.json 文件向 Heroku 表明您的应用程序是用 PHP 编写的。请为您的应用程序创建一个目录。

$ mkdir my-email-sending-app
$ cd my-email-sending-app
$ composer require aspose/aspose-email-cloud

在 index.php 文件中添加以下代码

include_once(__DIR__.'/vendor/autoload.php'); 
use Aspose\Email\EmailCloud;
use Aspose\Email\Configuration;
use Aspose\Email\Model\EmailDto;
use Aspose\Email\Model\MailAddress;
use Aspose\Email\Model\MailMessageDto;
use Aspose\Email\Model\EmailClientAccount;
use Aspose\Email\Model\StorageFileLocation;
use Aspose\Email\Model\ClientAccountSaveRequest;
use Aspose\Email\Model\ClientMessageSendRequest;
use Aspose\Email\Model\EmailClientAccountPasswordCredentials;

// Setup App Credentials 
$configuration = new Configuration();
$configuration
	->setClientSecret("\*\*\*\*")
	->setClientId("\*\*\*\*");

// Setup the SDK
$api = new EmailCloud($configuration);


$credentials = new EmailClientAccountPasswordCredentials(
    "email", "password");

// Setup an email account for email sending
$sendAccountDto = new EmailClientAccount(
    "smtp@server", 465, "SSLAuto", "SMTP", $credentials);
$smtpAccount = "smtp.account";
$storageName = 'storagename';
$accountFolder = 'myfolder';
$smtpLocation = new StorageFileLocation(
    $storageName, $accountFolder, $smtpAccount);

$api->client()->account()->save(
    new ClientAccountSaveRequest($smtpLocation, $sendAccountDto));

$email = (new EmailDto())
    ->setFrom(new MailAddress("MyName", "my@email.com"))
    ->setTo(array(new MailAddress("Testing", "to@email.com")))
    ->setSubject("Testing Email from PHP")
    ->setBody("Some body from PHP");

$api->client()->message()->send(
    new ClientMessageSendRequest(
        $smtpLocation, new MailMessageDto($email)));

部署至 Heroku(PHP 应用程序)

完成所有更改并准备部署到 Heroku(PHP 应用程序)后,您可以使用以下命令将更改推送到 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(PHP 应用程序)。

$ git push heroku main

现在您可以使用 heroku open 命令打开您的应用程序。

结论

在本文中,我们了解了 Heroku 平台以及如何设置 Heroku PHP 应用程序。我们还探索了 Aspose.Email Cloud,并用于设置用于发送电子邮件的 SMTP 电子邮件客户端。Aspose.Email Cloud 不仅仅用于发送电子邮件。相反,它是一个 Cloud SDK,用于发送、接收、附加、标记和转换云电子邮件,并支持在云中创建用于电子邮件存档的文件夹结构。这是一个易于使用且快速的 API,无需安装其他软件。该 API 支持多种编程语言,例如 C#、Java、PHP、Python、Ruby 和 Typescript。希望本文对您有所帮助。

探索