Отправка электронной почты с помощью Aspose.Email Cloud в приложении Heroku Java

Эта статья поможет вам настроить Java App на платформе Heroku. Она объясняет, как использовать Aspose.Email Cloud для отправки электронной почты с помощью Java App в облаке.

Heroku — это платформа как услуга (PaaS), которая позволяет разработчикам создавать, запускать и управлять приложениями полностью в облаке. Она поддерживает несколько языков программирования, включая Java. Heroku упрощает развертывание и масштабирование приложений Java. Независимо от того, используете ли вы стандартные библиотеки с серверами приложений, такими как Tomcat или Jetty, или фреймворки, такие как Spring или Play, Heroku поможет вам создавать приложения по-своему с помощью любимых инструментов. Этот блог расскажет вам, как развернуть приложение Java в Heroku. Статья поможет вам понять Aspose.Email Cloud и как использовать его для отправки электронной почты с помощью приложения Heroku Java. В статье предполагается, что у вас уже есть настроенная бесплатная учетная запись Heroku и локально установленные Java 8 и Maven 3. Maven — это мощный инструмент управления проектами, основанный на POM (объектной модели проекта), в первую очередь для проектов Java. Maven также можно использовать для создания и управления проектами, написанными на C#, Ruby, Scala и других языках. Он используется для сборки проекта, зависимостей и документирования. Он упрощает процесс сборки, как ANT. Но он намного продвинутее, чем ANT. Короче говоря, можно сказать, что maven — это инструмент, который можно использовать для создания и управления любым проектом на основе Java. maven упрощает повседневную работу разработчиков Java и в целом помогает в понимании любого проекта на основе Java. Давайте начнем!

Настройка Heroku

Для начала вам нужно установить Heroku Command Line Interface (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 Dashboard и щелкните вкладку Applications в левой боковой панели. Теперь прокрутите вниз, щелкните кнопку Create New Application, как показано на изображении ниже.

Настройка учетной записи Aspose.Email Cloud для отправки электронной почты

Теперь создайте новое приложение, выбрав хранилище по умолчанию, как показано на рисунке ниже. Вы также можете настроить стороннее хранилище для загрузки файлов данных, следуя руководству как настроить стороннее облачное хранилище.

Настройка учетной записи Aspose.Email Cloud для отправки электронной почты

Теперь прокрутите страницу вниз до раздела «Учетные данные клиента», чтобы скопировать идентификатор клиента и секретный код клиента, как показано на рисунке ниже.

Настройка учетной записи Aspose.Email Cloud для отправки электронной почты

Отправка электронной почты с помощью Aspose.Email Cloud

Предположим, что вы уже установили Java 8 и Maven 3. Теперь у вас есть функционирующий репозиторий git, содержащий простое приложение. Этот функционирующий репозиторий Git должен содержать простое приложение Java. Приложение включает Procfile, специальный текстовый файл, используемый приложениями Heroku. Вы явно объявляете процессы и команды, используемые для запуска вашего приложения в этом файле.

Procfile в исходном коде примера приложения выглядит следующим образом:

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

Этот файл объявляет один тип процесса, web, и команду, необходимую для его запуска. Имя web важно. Оно объявляет, что этот тип процесса присоединяется к стеку маршрутизации HTTP Heroku и может получать веб-трафик. Procfiles могут содержать дополнительные типы процессов. Например, вы можете объявить фонового работника, который обрабатывает элементы из очереди. Пример приложения также должен включать файл pom.xml, который используется менеджером зависимостей Java, Maven. Heroku автоматически идентифицирует приложение как приложение Java, если оно содержит файл pom.xml в корневом каталоге.

Другой файл, 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

это создаст репозиторий git на Heroku, и все, что вы отправите в этот репозиторий, будет развернуто в приложении Heroku Java.

$ git push heroku main

Теперь вы можете открыть свое приложение с помощью команды heroku open.

Заключение

Эта статья является частью серии, в которой объясняется платформа Heroku и то, как она позволяет разработчикам создавать, запускать и управлять приложениями полностью в облаке. Мы также узнали, как настроить приложение Heroku Java. Мы также изучили Aspose.Email Cloud и использовали его для настройки SMTP-клиента электронной почты для отправки электронной почты. Aspose.Email Cloud предназначен не только для отправки электронной почты. Вместо этого это Cloud SDK для отправки, получения, добавления, пометки и преобразования облачных писем, а также поддержка создания структуры папок для архивации электронной почты в облаке. Это простой в использовании и быстрый API, который не требует установки дополнительного программного обеспечения. API поддерживает множество языков программирования, таких как C#, Java, PHP, Python, Ruby и Typescript. Надеюсь, эта статья помогла вам.

Исследовать