Sending Email from Confluence Plugins

Plugins - K15T

User Rating: / 0
PoorBest 
Confluence provides a great infrastructure for doing all kinds of things in plugins. One requirement I came across a few times is sending emails from Confluence, which I will explain in this article. There are two ways of sending emails in Confluence: 1. Synchronous 2. Asynchronous using a mail queue I will explain option 2, as synchronous sending will make the user wait until the email is sent to the mail server. Asynchronous sending is implemented using a queuing mechanism, and will send the email every 60 seconds. This implementation build on the com.atlassian.core.task.MultiQueueTaskManager which can be injected as a dependency by the Confluence plugin system. After that it is very easy to send emails: : String emailText = "Email Text with HTML"; ConfluenceMailQueueItem item = new ConfluenceMailQueueItem( contact.getEmail(), null, subject, emailText, ConfluenceMailQueueItem.MIME_TYPE_HTML); item.setFromName("Example Inc."); item.setFromAddress(" This e-mail address is being protected from spambots. You need JavaScript enabled to view it "); taskManager.addTask("mail", item); : For rendering the email text from templates the VelocityManager is quite handy, which I will explain in another post.

Read original blog http://blog.k15t.com/sending-email-from-confluence-plugins