Come inviare email da Portlet Liferay

Spesso e volentieri si presenta la necessità di dover inviare email dalla propria applicazione. Ogni piattaforma di sviluppo offre i propri strumenti per assolvere a tale compito e la piattaforma Java offre nativamente questa possibilità attraverso il framework JavaMail.

Dalla piattaforma Liferay (basata su tecnologia Java) è ovviamente possibile e “nessuno vieta” l’utilizzo di JavaMail per inviare email dalle portlet. In linea generale, sono dell’idea che utilizzare gli strumenti offerti dalla piattaforma di sviluppo del prodotto, è la strada migliore da percorrere. Per l’invio di notifiche via email, Liferay mette a disposizione il proprio Message Bus, evitando l’utilizzo diretto delle JavaMail API rendendo più semplice l’operazione. 

Esistono due destinazioni configurate sul Message Bus:

  • liferay/subscription_sender: su questa destinazione “risponde” il listener SubscriptionSenderMessageListener
  • liferay/mail: su questa destinazione “risponde” il listener MailMessageListener

Consegnando il vostro messaggio al Message Bus su una delle precedenti destinazioni, il messaggio sarà inviato (in modo asincrono) via email. Il sistema d’invio tiene conto della configurazione Mail di Liferay (fare riferimento ai parametri SMTP).

I messaggi inviati su entrambe le destinazioni sono poi inviati come email a rispettivi destinatari, ognuna delle destinazioni ha però responsabilità diverse, in particolare:

  • i messaggi che transitano su liferay/subscription_sender sono tutti quei messaggi che subiscono un “trattamento” e che saranno poi consegnati a coloro che hanno sottoscritto l’abbonamento a determinati elementi:
    • Announcements
    • Blogs
    • Journal
    • Message Boards
    • Wiki
  • i messaggi che transitano su liferay/mail sono in genere semplici messaggi che saranno spediti per “direttissima” via email

Sul repository Liferay Message Bus Subscribe Example Portlet è disponibile una portlet completa che mostra l’utilizzo dei due diversi meccanismi per l’invio email. La portlet di esempio, invia una mail contente la lista degli utenti che sono in stato disattivo.

Ancora una volta abbiamo visto come il Message Bus di Liferay può venire incontro alle vostre esigenze, in modo semplice ed efficace. Il Message Bus come provider del servizio “invio email” evita la proliferazione di decine di righe di codice JavaMail.

0 Condivisioni

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

Potrebbero interessarti anche...

TIBCO JasperReports Server & JBoss EAP 7.2Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c

In questo video tutorial vi mostrerò come installare step-by-step TIBCO Jasper Reports Server 7.5 Community Edition su RedHat JBoss EAP 7.2, utilizzando CentOS 8.1 come sistema operativo e PostgreSQL come database server.

Vedremo come affrontare l'installazione di Jasper Reports Server senza l'ausilio dell'installer; questa è l'opzione solitamente adottata in ambiti enterprise. I punti salienti di questo tutorial sono:

  • Quali sono i requisiti software
  • Quali sono i requisiti hardware
  • Download del software
  • Layout d’installazione
  • Installazione di OpenJDK 11
  • Installazione di PostgreSQL 10
  • Installazione di JBoss EAP 7.2.0
  • Configurazione & Installazione di Jasper Reports Server
  • Configurazione di JBoss EAP 7.2.0
  • Start di Jasper Reports Server