Invio di e-mail tramite Aspose.Email Cloud nell'app Java Heroku

Questo articolo ti aiuta a configurare Java App su Heroku Platform. Spiega come usare Aspose.Email Cloud per inviare email usando un’app Java nel cloud.

Heroku è una piattaforma come servizio (PaaS) che consente agli sviluppatori di creare, eseguire e gestire applicazioni interamente nel cloud. Supporta diversi linguaggi di programmazione, tra cui Java. Heroku semplifica la distribuzione e la scalabilità delle app Java. Sia che tu utilizzi le librerie standard con server applicativi come Tomcat o Jetty, o framework come Spring o Play, Heroku ti aiuta a creare le cose a modo tuo con gli strumenti che ami. Questo blog ti guida su come distribuire un’app Java su Heroku. L’articolo ti aiuta a comprendere Aspose.Email Cloud e come utilizzarlo per l’invio di e-mail tramite Heroku Java App. L’articolo presuppone che tu abbia già un account Heroku gratuito e Java 8 e Maven 3 installati localmente. Maven è un potente strumento di gestione dei progetti basato su POM (project object model) principalmente per progetti Java. Maven può anche essere utilizzato per creare e gestire progetti scritti in C#, Ruby, Scala e altri linguaggi. Viene utilizzato per la creazione di progetti, la dipendenza e la documentazione. Semplifica il processo di creazione come ANT. Ma è troppo avanzato rispetto a ANT. In breve, possiamo dire che Maven è uno strumento che può essere utilizzato per creare e gestire qualsiasi progetto basato su Java. Maven semplifica il lavoro quotidiano degli sviluppatori Java e in generale aiuta a comprendere qualsiasi progetto basato su Java. Cominciamo!

Imposta Heroku

Per iniziare, devi prima installare Heroku Command Line Interface (CLI).Heroku CLI è usato per gestire ed eseguire varie attività di scalabilità. Puoi usarlo per fornire componenti aggiuntivi, visualizzare i log delle tue applicazioni ed eseguire la tua applicazione in locale. Se stai usando macOS, puoi usare Homebrew per installarlo o puoi visitare il sito ufficiale di Heroku.

brew install heroku/brew/heroku

Una volta completata l’installazione, puoi eseguire il seguente comando per autenticare Heroku da utilizzare localmente.

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

Questo comando apre il tuo browser alla pagina di login di Heroku per l’autenticazione. È necessario affinché sia i comandi Heroku che git funzionino correttamente

Imposta Aspose.Email Cloud

Aspose.Email Cloud è un Cloud SDK per inviare, ricevere, aggiungere, contrassegnare e convertire email cloud e supportare la creazione di una struttura di cartelle per l’archiviazione delle email nel cloud. Questa è un’API facile da usare e veloce, che non necessita di installare software aggiuntivo. L’API supporta molti linguaggi di programmazione, come C#, Java, PHP, Python, Ruby e Typescript. Per configurare Aspose.Email Cloud, seguire le istruzioni riportate di seguito.

Accedi ad Aspose.Cloud Dashboard e clicca sulla scheda Applicazioni nella barra laterale sinistra. Ora scorri verso il basso, clicca sul pulsante Crea nuova applicazione come mostrato nell’immagine qui sotto.

Aspose.Email Cloud Configurazione account per l'invio di e-mail

Ora crea la tua nuova applicazione selezionando il tuo storage predefinito come mostrato nell’immagine qui sotto. Puoi anche configurare uno storage di terze parti per caricare i tuoi file di dati seguendo la guida come configurare uno storage cloud di terze parti.

Aspose.Email Cloud Configurazione account per l'invio di e-mail

Ora scorri verso il basso fino alla sezione Credenziali cliente per copiare ID cliente e Segreto cliente come mostrato nell’immagine sottostante.

Aspose.Email Cloud Configurazione account per l'invio di e-mail

Invio di e-mail tramite Aspose.Email Cloud

Supponendo che tu abbia già installato Java 8 e Maven 3. Ora hai un repository git funzionante che contiene una semplice applicazione. Questo repository Git funzionante dovrebbe contenere una semplice applicazione Java. L’applicazione include un Procfile, uno speciale file di testo in chiaro utilizzato dalle app Heroku. Dichiari esplicitamente i processi e i comandi utilizzati per avviare la tua app in questo file.

Il Procfile nel codice sorgente dell’app di esempio si presenta così:

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

Questo file dichiara un singolo tipo di processo, web, e il comando necessario per eseguirlo. Il nome web è importante. Dichiara che questo tipo di processo si collega allo stack di routing HTTP di Heroku ed è in grado di ricevere traffico web. I procfile possono contenere tipi di processo aggiuntivi. Ad esempio, puoi dichiarare un worker in background che elabora gli elementi da una coda. L’app di esempio dovrebbe anche includere un file pom.xml, che viene utilizzato dal gestore delle dipendenze di Java, Maven. Heroku identifica automaticamente un’app come app Java se contiene un file pom.xml nella directory principale.

Un altro file, system.properties, indica la versione di Java da usare. Il contenuto di questo file facoltativo è simile a questo:

java.runtime.version=1.8

Per prima cosa aggiungi il repository nel tuo progetto

<repository>
    <id>aspose-cloud</id>
    <name>Aspose.Cloud repository</name>
    <url>https://repository.aspose.cloud/repo</url>
</repository>

e quindi aggiungere la dipendenza

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email-cloud</artifactId>
</dependency>

aggiungi il seguente codice nel tuo progetto per l’invio di e-mail

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)));

Distribuisci su Heroku (app Java)

Una volta completate tutte le modifiche e pronti per la distribuzione su Heroku (app Java), puoi utilizzare i seguenti comandi per inviare le modifiche a 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

questo creerà un repository git su Heroku e tutto ciò che invierai a questo repository verrà distribuito nell’app Java Heroku.

$ git push heroku main

Ora puoi aprire la tua applicazione utilizzando il comando heroku open.

Conclusione

Questo articolo fa parte di una serie che spiega la piattaforma Heroku e come consente agli sviluppatori di creare, eseguire e gestire applicazioni interamente nel cloud. Abbiamo anche imparato come impostare un’app Java Heroku. Abbiamo anche esplorato Aspose.Email Cloud e utilizzato per impostare un client di posta elettronica SMTP per l’invio di e-mail. Aspose.Email Cloud non è solo per l’invio di e-mail. Invece, è un Cloud SDK per inviare, ricevere, aggiungere, contrassegnare e convertire e-mail nel cloud e supportare la creazione di una struttura di cartelle per l’archiviazione delle e-mail nel cloud. Questa è un’API facile da usare e veloce, che non necessita di installare software aggiuntivo. L’API supporta molti linguaggi di programmazione, come C#, Java, PHP, Python, Ruby e Typescript. Spero che questo articolo ti sia stato utile.

Esplorare